shell程式設計中的變數和符號
阿新 • • 發佈:2021-10-24
一、變數
1、自定義變數
名稱可以用數字、字母、下劃線,不能以數字開頭,等號兩邊不能有空格,不能使用特殊符號
# 定義變數 或者 賦值 a=10 #取消變數的定義 unset a #呼叫變數時用$加變數名 echo $a #容易與後面內容發生混淆時用大括號 echo ${a}RMB
2、環境變數
由系統提前定義好,使用時直接呼叫
USER 當前使用者名稱
HOME 當前使用者的家目錄
SHELL 當前使用者的直譯器
UID 當前使用者的id號
HOSTNAME 主機名
PWD 當前位置
PATH 儲存命令的路徑
3、位置變數與預定義變數
$1 執行指令碼時後面跟的第1個位置引數
$2 執行指令碼時後面跟的第2個位置引數
$3 執行指令碼時後面跟的第3個位置引數
$* 執行指令碼時後面跟的所有位置引數
$# 執行指令碼時後面跟的位置引數的個數
$$Shell本身的PID(ProcessID,即指令碼執行的當前程序ID號)
$? 判斷上一條指令是否執行成功,0代表成功,非0代表失敗
如何檢視?
#檢視所有環境變數 env #配合grep搜尋 env | grep HOSTNAME #檢視所有變數 set #自定義變數 abcd=8888 #查詢 set | grep abcd
二、符號
1、雙引號 " "
作用:將某些物件變成字串輸出
a.當字串當中存在空格的時候,必須使用雙引號,如果沒有空格可以不用
str=hello str="hello world"
b.當雙引號中要對變數進行引用
echo "$str world"
c.在雙引號當中呼叫shell命令,當shell命令需要識別的時候,使用反引號包裹命令
echo"`ls -l`"
2、單引號 ' '
作用:把包裹的內容當成字串使用
請注意以下兩條命令執行結果的區別
3、反引號 ··
作用:將雙引號中的命令識別,然後執行命令對應的內容
4、重定向符號 >> >
> 重定向到某一個檔案,完成覆蓋
>> 重定向到某一個檔案,完成追加