shell程式設計中變數的一種-使用者自定義變數
$echo hello $uname
結果顯示:hello
$echo hello $
結果顯示:hello there
$echo $uname
結果顯示: (空)
$uname=john
$echo hello $
結果顯示:hello john
可以看出,變數替換時將使用命令列中定義的預設值,但變數的值並沒有因此而改變。另外一種替換的方法是不但使用預設值進行替換,而且將預設值賦給該變數。其形式如下:
$該形式在變數替換後同時把值value符給變數variable。
$echo hello $uname
結果顯示:hello
$echo hello $
結果顯示:hello there
$echo $uname
結果顯示:there
$uname=john
$echo hello $
結果顯示:hello john
$只有變數variable已賦值時,其值才用value替換,否則不進行任何替換,例如:
$erropt=a
$echo $
結果顯示:error tracking is acitive
$erropt=
$echo $
結果顯示: (空)
我們還可以使用錯誤檢查的條件進行變數替換:
$當變數variable已設定時,正常替換。否則訊息message將送到標準錯誤輸出(若此替換出現在shell程式中,那麼該程式將終止)。 例如:
$uname=
$echo $
結果顯示:uname has not been set
$uname=stephanie
$echo $
結果顯示:stephanie
當沒有指定message時,shell將顯示一條預設的訊息,例如:
$uname=
$echo $
結果顯示:sh:uname:parameter null or not set
$expr 4*5
系統將會報錯,因為shell看到"*"將會首先進行檔名替換。正確形式為:
$expr 4 \* 5
結果顯示:20
------------------結果錯誤,可能跟使用的版本有關係--------------------------------
運算次序是先乘除後加減,若要改變運算次序,必須使用"`"號,如:
$int=`expr 5 + 7`
$expr $int/3
結果顯示:4
或者:$expr `expr 5+7`/3
結果顯示:4
shell指令碼 使用者自定義變數
顧名思義,使用者自定義,也就是使用者自己定義的變數,在一定的範圍內,你可以隨意定義,而那個範圍就是使用者變數定義格式。變數格式 變數名,由字母或下劃線打頭,不允許數字開頭,後面由字母 數字或下劃線組成,並且大小寫字母意義不同。變數賦值,在 後邊直接指定變數內容是為變數賦值的最基本方法,注意,兩邊沒有...
mysql 使用者自定義變數
這裡面詳細的介紹了怎麼使用自定義變數 我這裡本是發出一些疑問 set rownum 0 select disease,rn,rownum,rownum rownum 1 as cmt from disease code where rownum 1 結果 disease rn rownum cmt ...
C C 程式設計 使用者自定義型別
include struct vector 表示通過非const引用的方式傳遞v,這樣vector init就可以修改v指向的變數了 void vector init vector v,int s void f vector v,vector rv,vector pv using namespace...