1. 程式人生 > >Shell教程 之變量

Shell教程 之變量

uniq 只讀 cnblogs ble 等號 變量定義 highlight www. 裏的

1.Shell變量

1.1 定義變量

your_name="http://www.cnblogs.com/uniquefu"

註意,變量名和等號之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。同時,變量名的命名須遵循如下規則:

  • 命名只能使用英文字母,數字和下劃線,首個字符不能以數字開頭;
  • 中間不能有空格,可以使用下劃線(_);
  • 不能使用標點符號;
  • 不能使用bash裏的關鍵字(可用help命令查看保留關鍵字)。

1.2 使用變量

使用一個定義過的變量,只要在變量名前面加美元符號即可,如:

your_name="http://www.cnblogs.com/uniquefu"

echo ${your_name}
echo $your_name

變量名外面的花括號是可選的,加不加都行,加花括號是為了幫助解釋器識別變量的邊界。

推薦給所有變量加上花括號,這是個好的編程習慣

運行結果:

[root@test3101-3 bin]# ./test.sh 
http://www.cnblogs.com/uniquefu
http://www.cnblogs.com/uniquefu

註意:重新給變量賦值,不能加美元符號,即$your_name="uniquefu"

1.3 只讀變量

使用 readonly 命令可以將變量定義為只讀變量,只讀變量的值不能被改變。

下面的例子嘗試更改只讀變量,結果報錯:

your_name="http://www.cnblogs.com/uniquefu"

readonly your_name
your_name="https://www.baidu.com" 

運行結果:

[root@test3101-3 bin]# ./test.sh  
./test.sh: line 7: your_name: readonly variable

1.4 刪除變量

使用 unset 命令可以刪除變量。語法:

unset 變量名

變量被刪除後不能再次使用。unset 命令不能刪除只讀變量

實例:

your_name="http://www.cnblogs.com/uniquefu"

unset your_name
echo ${your_name}

以上實例執行將沒有任何輸出,且不會報錯

Shell教程 之變量