Shell編程中,使用變量無需事先聲明,同時變量名的命名須遵循如下規(guī)則:
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計與策劃設(shè)計,通河網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:通河等地區(qū)。通河做網(wǎng)站價格咨詢:18980820575首個字符必須為字母(a-z,A-Z)
中間不能有空格,可以使用下劃線(_)
不能使用標點符號
不能使用bash里的關(guān)鍵字(可用help命令查看保留關(guān)鍵字)
需要給變量賦值時,可以這么寫:
變量名=值
要取用一個變量的值,只需在變量名前面加一個$ ( 注意: 給變量賦值的時候,不能在"="兩邊留空格 )。例如:
#!/bin/sh
# 對變量賦值:
a="hello world" #等號兩邊均不能有空格存在
# 打印變量a的值:
echo "A is:" $a
注:上邊的#號為注釋,將在后邊講到。
挑個自己喜歡的編輯器,輸入上述內(nèi)容,并保存為文件first,然后執(zhí)行 chmod +x first 使其可執(zhí)行,最后輸入 ./first 執(zhí)行該腳本。其輸出結(jié)果如下:
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"
其輸出結(jié)果為:this is the 2nd
注意:shell的默認賦值是字符串賦值。比如:
var=1
var=$var+1
echo $var
打印出來的不是2而是1+1。為了達到我們想要的效果有以下幾種表達方式:
let "var+=1"
var=$[$var+1]
var=`expr $var + 1`#注意加號兩邊的空格,否則還是按照字符串的方式賦值。
注意:前兩種方式在bash下有效,在sh下會出錯。
let表示數(shù)學運算,expr用于整數(shù)值運算,每一項用空格隔開,$[]將中括號內(nèi)的表達式作為數(shù)學運算先計算結(jié)果再輸出。
Shell腳本中有許多變量是系統(tǒng)自動設(shè)定的,我們將在用到這些變量時再作說明。除了只在腳本內(nèi)有效的普通shell變量外,還有環(huán)境變量,即那些由exp
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。