Linux Shell編程變量賦值和引用


我們可以使用任意一種文字編輯器,比如gedit、kedit、emacs、vi等來編寫shell腳本,它必須以如下行開始(必須放在文件的第一行):
 
#!/bin/sh 
... 
注意:最好使用“!/bin/bash”而不是“!/bin/sh”,如果使用tc shell改為tcsh,其他類似。  
符號#!用來告訴系統執行該腳本的程序,本例使用/bin/sh。編輯結束並保存后,如果要執行該腳本,必須先使其可執行:
 
chmod +x filename 
此后在該腳本所在目錄下,輸入 ./filename 即可執行該腳本。
 
Shell編程中,使用變量無需事先聲明,同時變量名的命名須遵循如下規則:
 
首個字符必須為字母(a-z,A-Z)
中間不能有空格,可以使用下划線(_)
不能使用標點符號
不能使用bash里的關鍵字(可用help命令查看保留關鍵字)
需要給變量賦值時,可以這么寫:
 
變量名=值
要取用一個變量的值,只需在變量名前面加一個$ ( 注意: 給變量賦值的時候,不能在"="兩邊留空格 )
 
#!/bin/sh 
# 對變量賦值: 
a="hello world"  #等號兩邊均不能有空格存在 
# 打印變量a的值: 
echo "A is:" $a 
挑個自己喜歡的編輯器,輸入上述內容,並保存為文件first,然后執行 chmod +x first 使其可執行,最后輸入 ./first 執行該腳本。其輸出結果如下: 
 
A is: hello world 
有時候變量名可能會和其它文字混淆,比如:
 
num=2 
echo "this is the $numnd" 
上述腳本並不會輸出"this is the 2nd"而是"this is the ";這是由於shell會去搜索變量numnd的值,而實際上這個變量此時並沒有值。這時,我們可以用花括號來告訴shell要打印的是num變量:
 
num=2 
echo "this is the ${num}nd" 
其輸出結果為:this is the 2nd
注意花括號的位置:
 
num=2 
echo "this is the {$num}nd" 
其輸出結果為:this is the {2}nd
需要注意shell的默認賦值是字符串賦值。比如:
 
var=1 
var=$var+1 
echo $var 
打印出來的不是2而是1+1。為了達到我們想要的效果有以下幾種表達方式:
 
let "var+=1" 
var=$[$var+1]     
var=`expr $var + 1`#注意加號兩邊的空格,否則還是按照字符串的方式賦值。 
注意:前兩種方式在bash下有效,在sh下會出錯。
 
let表示數學運算,expr用於整數值運算,每一項用空格隔開,$[]將中括號內的表達式作為數學運算先計算結果再輸出。
 
Shell腳本中有許多變量是系統自動設定的,我們將在用到這些變量時再作說明。除了只在腳本內有效的普通shell變量外,還有環境變量,即那些由export關鍵字處理過的變量 詳情參


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM