shell變數相關知識

2022-03-14 13:06:24 字數 1983 閱讀 7359

一、幾個常用命令:

1. set : 輸出所有變數,包含全域性變數和區域性變數

2. env : 只顯示全域性變數

3. declare : 輸出所有的變數,函式,整數和已經匯出的變數

4. unset : 消除本地變數和環境變數

5. source /etc/profile : 載入環境變數,使環境變數生效

二、普通變數定義賦值有三種方式:

1. 變數名=value : 不加引號,值裡有變數會被解析後再輸

2. 變數名='value' : 單引號,純字串顯示

3. 變數名="value" : 雙引號,引號裡的變數及命令會解析後輸出

三、變數名=$(命令) 

把乙個命令的結果作為變數的內容賦值,或者用反引號引起來(即tab鍵上面那個鍵輸出的字元

如:cmd=$(date +%f) :將當前日期(格式化為2018-10-24)賦值給變數cmd

[root@hxjk_test_backend_services config]# cmd=$(date +%f)

[root@hxjk_test_backend_services config]# echo $cmd

2018-10-25

[root@hxjk_test_backend_services config]#

四、$變數, $

輸出變數值

五、shell中特殊位置引數變數

六、shell程序中的特殊狀態變數

1. $? : 獲取執行上乙個的執行狀態返回值(0為成功,非0為不成功)

2. $$ : 獲取當前執行的shell腳步的程序號

3. $! : 獲取上乙個再後台工作的程序的程序號

4. $_ : 獲取在此之前執行的命令或腳步的最後乙個引數

[root@hxjk_test_backend_services test]# ll

total 8

-rw-r--r--. 1 root root 119 oct 24 20:21 aa.sh

-rw-r--r--. 1 root root 8 oct 25 17:30 bb.sh

-rw-r--r--. 1 root root 0 oct 24 14:49 cc.sh

[root@hxjk_test_backend_services test]# echo $?

0[root@hxjk_test_backend_services test]# lll

-bash: lll: command not found

[root@hxjk_test_backend_services test]# echo $?

127[root@hxjk_test_backend_services test]#

shell 相關變數

0 當前指令碼的檔名。n n 1 傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如,第乙個引數是 1,第二個引數是 2。n不能為變數,即使變數值為0到n 傳遞給指令碼或函式的引數個數。傳遞給指令碼或函式的所有引數。傳遞給指令碼或函式的所有引數。當被雙引號 包含時,與 稍有不同 上個命令...

shell變數相關記錄

形式說明 變數本來的值 截斷變數m n 如果變數 var 為空或已被刪除 unset 那麼返回 word,但不改變 var 的值。如果變數 var 為空或已被刪除 unset 那麼返回 word,並將 var 的值設定為 word。如果變數 var 為空或已被刪除 unset 那麼將訊息 messa...

shell相關知識1

組命令,就是將多個命令劃分為一組,或者看成乙個整體。用法區別 shell 組命令的寫法有兩種 command1 command2 由花括號 包圍起來的組命名在當前 shell 程序中執行,而由小括號 包圍起來的組命令會建立乙個子 shell,所有命令都在子 shell中執行。使用花括號 時,花括號與...