shell指令碼中的變數

2021-10-21 13:43:45 字數 2124 閱讀 5037

變數就是記憶體一片區域的位址

命令無法操作一直變化的目標

用一串固定的字元來表示不固定的目標可以解決此問題

export宣告

env顯示所有環境變數

echo $path

export a=1

在環境關閉後變數失效

字元

_

數字

\ 轉譯單個字元

「」 弱引用,批量轉譯個數字元 不能轉譯"" 「`」 「$」 「!」

『』 強引用

$$ 表示當前程序的id

a=1echo $ab

echo $b a是變數,b不是

echo $ 陣列第乙個元素

echo $ 陣列最後乙個元素

echo $ * 所有元素顯示為一串 「1 2 3 4 5」

echo $ @ 乙個元素為一串 「1」 「2」 「3」 「4」 「5」

echo $ 0 為起始元素,往後取3個

echo $ 陣列中的元素個數

6.利用命令的執行結果設定變數

1)直接利用命令執行結果:

2)指令碼中的傳參

非互動模式:

$0 is /mnt/test.sh #顯示指令碼本身

$1 is westos #指令碼後所屬如的第一串字元

$2 is linux

$3 is redhat

$* is westos linux redhat #指令碼後所輸入的所有字元

$@ is westos linux redhat #指令碼後所屬如的多有字元

$# is 3 #指令碼後所輸入的字串個數

互動模式傳參:

read westos #對westos賦值

read -p 「please input word:」 #輸出提示語

-s #隱藏輸入內容

7.指令碼函式

定義l程式的別名

設定方式:

westos not exist---------please input password: 無回顯密碼

此使用者會自動建立並且密碼為提示後設定的密碼

並顯示:westos is created

並再次提示please input username:

當please input username:exit

此指令碼推出

shell指令碼中的變數

1 在命令列中和指令碼中,變數定義得格式 name value 左右兩邊不能有空格,否則會當做命令來對待,輸出乙個command not found echo name echo 列印出變數,引用變數使用 name.2 單引號和雙引號 語法 和php中相同 雙引號仍然可以保有變數的內容,但單引號內僅...

shell指令碼中的變數

後記面試中很重要 在系統中,當我們執行 bin ls時與ls命令結果並不相同,因為ls是已經經過加工過的命令。alias xie vim 臨時設定,開啟了新的shell就會失效 vim bashrc 只對當前使用者生效 alias xie vim source bashrc vim etc bash...

shell指令碼中的變數

定義本身 變數就是記憶體一片區域的位址 變數存在的意義 命令無法操作一直變化的目標 用一串固定的字元來表示不固定的目標可以解決此問題 環境級別 使用者級別 系統級別 變數名稱 轉譯 轉譯單個字元 雙引號 弱引用,批量轉譯個數字元,不能轉譯 單引號 強引用宣告 變數的陣列 create user.sh...