二、變數的基礎知識 shell中變數中不定義變數類型。shell變數是否為了方便調用。 shell變數:環境變數(全局變數),普通變數(局部變數) shell 不區分類型,使用的時候區分變數類型。 (一)shell變數分類: 1、環境變數 全局變數,顯示環境變數: 定義環境變數: 方法1 方法2 方 ...
二、變數的基礎知識
shell中變數中不定義變數類型。shell變數是否為了方便調用。
shell變數:環境變數(全局變數),普通變數(局部變數)
shell 不區分類型,使用的時候區分變數類型。
(一)shell變數分類:
1、環境變數
全局變數,顯示環境變數:
echo $變數;env;set
定義環境變數:
系統固有:PS1,PATH,HOME,UID
方法1
export OLDBOY=1;
方法2
OLDBOY=1
export OLDBOY
永久生效的方法:
添加至/etc/profile ; . /etc/profile
方法3
declare -x A=1
取消環境變數:unset 變數
環境變數的文件:
全局文件
/etc/profile
/etc/bashrc
用戶環境變數文件
~/.bashrc
~/.bash_profile
環境變數生效的的順序:
①~/.bash_profile
②~ /.bashrc
③/etc/bashrc
④/etc/profile
登錄shell:
先載入/etc/profile ;~/.bash_profile,然後載入~/.bashrc ;再次載入/etc/bashrc(生效順序相反)
2、普通變數
局部變數,當前用戶或者腳本中生效。
①字元串變數
②變數名:字母,數字,下劃線,不能以數字開頭。
變數名定義規則:見名知意。首字母,下劃線連接單詞。
③變數內容:字元串,
單引號:所見即所得。
不用引號,雙引號:先解析變數或者命令,然後輸出。
雙引號可以把要定義的內容作為一個整體。純數字不加引號。
命令變數:反引號,括弧
變數名=`ls`
變數名=$(ls)
普通變數總結:
①在腳本中定義普通字元串變數,儘量把變數的內容使用雙引號。
②純數字的變數內容可以不加引號。
③希望變數的內容原樣輸出需要加單引號。
④希望變數值引用命令並獲取命令的結果就用反引號或者$()
⑤$db_t,若變數後面有其他字元連接的時候,就必須給變數加上大括弧{},例如$db_t就要改成${db}_t。
⑥變數名的定義要有一定的命令規範,並且要見名知意。
⑦變數定義使用賦值符號(=),賦值符號兩端不要有空格。