shell指令碼之二 變數的基礎知識

2022-06-06 08:57:07 字數 1403 閱讀 9929

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就要改成$_t。

⑥變數名的定義要有一定的命令規範,並且要見名知意。

⑦變數定義使用賦值符號(=),賦值符號兩端不要有空格。

Shell指令碼學習筆記 二 變數

變數與字串 bash shell沒有所謂的 資料形態 除非使用內建declare特別指定變數的型態。在bash shell中,只有一種資料型態 以字元組成的字串 不必經過事先宣告的程式想用就用 設定變數值之後,該變數值只在當前的shell環境中有效。變數名長度無限制,區分大小寫。設定變數的方法 變數...

學習Shell(二)變數

如何給shell指令碼傳入引數 1.執行 vi test.sh 建立乙個新的shell指令碼。vi test.sh 2.指令碼test.sh的內容如下 bin sh name 1 echo the are great man 3.給新建立的test.sh的指令碼賦可執行許可權,命令為 chmod 7...

C 學習系列之二 變數

1.什麼叫變數 變數是指在程式的執行過程中隨時可以發生變化的量。要使用變數,需要申明他們,所謂申明就是給變數指定型別和名稱。變數申明後就可以用它們做儲存單元,存放申明的資料型別的資料。變數名定義規則 變數名必須由字母 數字 下劃線組成不能與c 中關鍵字相同 格式 型別 變數名 例 string us...