Bash腳本之變量的使用

本博客已遷往http://coredumper.cn


設置變量:name=變量內容


注意:
1. 等號兩邊不能接空格符
2. 若變量內容含有空格符,則使用雙引號或者單引號將變量內容引起來。但兩種方式是有區別的,雙引號內的特殊字符將會保持原有特性,單引號內的特殊字符僅爲一般字符(所見即所得)。爲了避免混淆,建議不要使用單引號,可以用轉義字符\配合雙引號來代替單引號的功能。下面舉例說明:
var="path is $LANG"
echo $var
結果爲path is en_US.UTF-8
var='path is $LANG'
echo $var
結果爲path is $LANG
3. 變量內容中的特殊字符可以用\進行轉義,下面的例子將$、雙引號、單引號和空格符進行了轉義
name=a\$b\"c\'d\ e
echo $name
結果爲a$b"c'd e
注意:在變量內容中需要進行轉義處理的特殊字符:\、$、單引號、雙引號、反單引號、空格符
4. 變量內容可以是某個命令提供的信息,格式爲name=$(命令) 或者name=`命令`(注意這裏是反單引號)
5. 變量類型默認爲字符串,如果需要使用數字類型的變量,可以用declare -i聲明。bash提供的數值運算符有+、-、*、/、%,而且只支持整數運算。下面舉例說明:
declare -i name=10+20
echo $name
結果爲30
另外,也可以用如下形式進行數值運算:
name=$[ 10 + 20 ]



使用變量:$name或者${name}

注意:當變量的值是包含空格符的字符串時,儘量用"$name"這種方式進行引用。

如果直接使用一個從未設置過內容的變量,則變量內容默認爲空字符串。




將自定義變量設置爲環境變量:export name
注意:子進程只能繼承父進程的環境變量,而不會繼承父進程的自定義變量。



取消變量:unset name



建議:
所有的變量內容都用雙引號引起來
使用變量時使用${name}這種形式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章