編程原理

1.編程介紹:python

    早期編程:驅動   硬件默認時不能使用的;程序員

                             不一樣的廠家硬件設備之間須要進行指令溝通,咱們須要驅動程序來進行"翻譯";shell

                    更趨近與硬件開發的工程師,要學習「彙編語言」;而「彙編語言」被廠家所限制;CC++的底層就是彙編語言;編程

    如今編程:基於高級語言,以及超高級語言,更好的讓程序員可以的實現編程功能;數組

     編程語言的分類:bash

                     高級語言、超高及語文須要*翻譯*成計算機可讀的語言(二進制指令)編程語言

                     解釋型 —— 逐行翻譯、逐行執行 shell python Java函數

                     程序 = 指令 + 數據學習

                     面向對象 -- 側重於數據的編程語言測試

                     面向過程 ---側重於指令

  編程語言的執行方式:(一行一行)
                  1.順序執行                
                  2.循環執行-- *for while untile
                  3.選擇執行--分支        
         添加用戶
  if id $* &>/dev/null;then
         echo "這個用戶已經存在"
  else
          for i in $*;do
               userass $i
               echo"123456"|passwd --stdin "$i" &> /sev/null
               echo "用戶 $i 添加成功「
          done
          exit 0
  fi
2.shell腳本語言介紹

         優勢:調用os(操做系統)的命令行,來實現因此功能

         缺點:沒有庫調用(區分python)

 

         shell腳本包括:1.*命令*(很是重要)

         tar -cvzf /tmp/etc.bak /etc/

       

     判斷文件是否存在,若是存在覆蓋

                                  2.變量(全局變量、局部變量、本地變量、傳參)

                                  3.邏輯關係

         shell腳本的第一句話!!!(必須寫)

        #!/bin/bash --定義腳本解釋器(廣泛認爲#爲註釋行,這是特殊)shebang

        #!/usr/bin/python  --python解釋器

 

         /etc/shells --查看當前系統支持的shell程序

         echo $SHELL --查看當前會話的shell程序

         /etc/passwd --指定了用戶默認支持的shell程序(/bin/nologin)

         shell 的執行:

                           1. bash命令來執行腳本

                                        -n 查看shell腳本的邏輯錯誤(注意:單詞寫錯可無論)

                                        -x  逐行顯示執行的腳本程序(方便排錯)

                            2.受權chmod u +x filename.sh

                                                 使用全路徑執行腳本便可


3.變量
          環境變量

          局部變量 declare命令 --定義變量類型

          本地變量 local 在函數中使用

          變量類型:

                          數值型:

                                       1.整型

                                       2.浮點型

                                       3.布爾型 (0 真 1 假)(True False)

                          字符串:

                                       1.普通字符集字符串

                                       2.數組

                          編程語言的分類:

                                        強類型語言 -- 數值必須被定義,才能進行處理或運算

                                        弱類型語言 -- 編程語言能夠自動識別變量類型

                                       【*多態*一個數據具備多個屬性,而最後使用的屬性取決於和他進行運算的數據】

           傳參

                      $? --上一條命令的執行狀態 0 正確 1-255錯誤

                      $1  $2 ...${10} --命令後面傳入腳本的數據,以空格爲分隔符

                      $# --統計傳參數量${$#}

                      $* --表示因此的傳參,因此傳參以字符串形式進行輸出

                      $@ -- 表示因此傳參,將全部的傳參以列表的形式進行輸出

                    【工做中要對因此的傳參進行操做的時候,就要考慮$*和$@】

        定義變量格式:

                     NAME=VALUE  

                     咱們經過命令declare定義變量類型

                     declare -i a=10 int() str()

                     declare -i  整數

                     declare -a 數組

        變量命令:

                     1.下劃線的方式指定變量名稱

                     2.駝峯命名方式

4.test文件測試、條件判斷

           在腳本中,咱們須要進行語句分支;說白了,就要作判,判斷就是使用test命令來實現;

          使用格式:

                       1.test[option] file

                       2.[條件語句]

           常見的test選項:

                         1.比較選項:

                                     -eq 等於

                                     -ne  不等於

                                     -gt   大於

                                     -ge  大於等於

                                      -lt  小於

                                      -le  小於等於

                          2.判斷選項

                                      -f  判斷是否爲普通文件

                                      -d 判斷是否爲目錄文件

                                      -L 判斷是否爲鏈接文件

                                       -r -w -x 判斷文件是否具備讀 寫 執行 權限

                           3.關聯選項

                                    -o  或

                                     -a  與

                                     !  非

     字符串判斷:
                 = 判斷兩邊的字符串是否相等
                != 不等於
                -z判斷字符串是否存在、
                -n與-z相反 存在爲假 不存在爲真

5.邏輯運算

    與   && :兩邊的命令,都爲真,結果纔是真
    或    ||   :兩邊的命令,一邊爲真,就是真,同時爲真,纔是假
    非!=
    這個邏輯運算符,先後對接的都是單獨存在的命令;

    [$? -eq 0]&& exit 0|| exit 1

6.算術運算
     *let 1+1
           let a=1+1
           echo $a
     expr 1*1
           expr 1*10
     *$[$1+10]
           a=$[2+3]
           echo $a
     $(($1/$2))
           a=$((3/2))
           echo $a
相關文章
相關標籤/搜索