shell變量 和變量類型


wKioL1lNDBWiKp5qAAHumaoOG3U812.png-wh_50

shell是弱類型變成語言


變量賦值: VAR_NAME=VALUE

撤銷變量: unset VAR_NAME

特殊變量: $? 執行狀態碼

      $# 參數geshu

       $*參數列表

       $@參數列表 


bash:

變量類型    1、環境變量

            export VAR_NAME=VALUE 

            腳本在執行的時候會啓動一個子shell進程:

               命令行中啓動的腳本會繼承當前shell的環境變量

               系統自動執行的程序腳本(非命令行啓動)就需要自我定義環境變量

         2、本地變量(局部變量)

            VAR_NAME=VALUE 作用於整個bash進程。

            local VAR_NAME=VALUE 作用於當前代碼段。

         3、位置變量

            $1,$2,.....

         4、特殊變量

            $?:保存上一個命令執行狀態返回值

                程序執行以後可能有兩隻返回值

                  1、程序執行結果

                  2、程序執行狀態返回代碼(0-255)

                         0是正確執行

                         1-255:錯誤執行 1,2,127系統保留


bash如何實現條件判斷?

條件測試類型

   1、整數測試

   2、字符測試

   3、文件測試

條件測試的表達式

  [ expression ] 兩頭空格 否則語法錯

  ` expression ` 同上

  tset expression 

整數比較

 int1 -eq int2    兩數相等爲真
 int1 -ne int2    兩數不等爲真
 int1 -gt int2    int1大於int2爲真
 int1 -ge int2    int1大於等於int2爲真
 int1 -lt int2    int1小於int2爲真
 int1 -le int2    int1小於等於int2爲真

命令的邏輯關係

   邏輯與:&&

   邏輯或:|| 

  

#!/bin/bash
! id user1 &> /dev/null && useradd user1 && echo "user1" |passwd --stdin user1 &> /dev/null || echo "用戶已經存在"

條件判斷,控制結構

單支語句判斷

if 判斷條件 ;then 

    statement1

    statement1   4  2   3   

    .....

else            

    statement3

    statement4

    ....

fi   

多分支if語句

if 判斷條件1

then

    statement1

    ....

elif 判斷條件2

then

    statement2

elif 判斷條件3

then

    statement3

else

    statement4

fi


文件測試  

  -e file :測試文件是否存在

  -f file :測試是否爲普通文件 

  -d file :測試指定路徑是否爲目錄

  -x

  -r

  -w file  測試文件的權限


    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章