shell變量賦值-linux


Shell變量賦值
命名須規則:
1)使用變量無需聲明
2)首個字符必須為字母(a-z,A-Z)
3)中間不能有空格,可以使用下划線(_)
4)不能使用標點符號
5)不能使用bash里的關鍵字(可用help命令查看保留關鍵字)
6)需要給變量賦值時,可以這么寫:
7)變量名=值
8)一個變量的,只需在變量名前面加一個$ ( 注意: 給變量賦值的時候,不能在"="兩邊留空格 )

例1:(變量賦值)
#!/bin/sh 
# 對變量賦值: 
a="hello world" #等號兩邊均不能有空格存在 
# 打印變量a的值: 
echo "A is:" $a 
挑個自己喜歡的編輯器,輸入上述內容,並保存為文件first,然后執行 chmod +x first 使其可執行,最后輸入./first 執行該腳本。
其輸出結果如下: 
"A is: hello world "

例2:(區別變量)
錯誤用法:
有時候變量名可能會和其它文字混淆,比如:
num=2 
echo "this is the $numnd" 
上述腳本並不會輸出"this is the 2nd"而是"this is the"
這是由於shell會去搜索變量numnd的值,而實際上這個變量此時並沒有值。

正確用法:
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
]

例3:(變量值作為數字)
需要注意shell的默認賦值字符串賦值
錯誤方式:
var=1 
var=$var+1 
echo $var 
打印出來的不是2而是1+1
正確方式:
1)let "var+=1" 
2)var=$[$var+1]   
3)var=`expr $var +1`#注意加號兩邊的空格,否則還是按照字符串的方式賦值。[暫時無效] 
echo $var 打印出來是2
注意:前兩種方式在bash下有效,在sh下會出錯。[注意:我的虛擬機中:/bin/sh->/bin/bash]
let表示數學運算;
$[]將中括號內的表達式作為數學運算先計算結果再輸出;
expr用於整數值運算,每一項用空格隔開;[暫時無效]


 


免責聲明!

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



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