介紹 變數是shell腳本中必不可少的組成部分,在腳本中使用變數不需要提前聲明。在bash中每一個變數都是字元串,所以在變數賦值時候不管有沒有使用引號都是以字元串的形式存儲,但是如果值中存在特殊字元就需要用引號將值進行引用, 在bash中可以使用單引號或者雙引號。 環境:centos 6.7 賦值 ...
介紹
變數是shell腳本中必不可少的組成部分,在腳本中使用變數不需要提前聲明。在bash中每一個變數都是字元串,所以在變數賦值時候不管有沒有使用引號都是以字元串的形式存儲,但是如果值中存在特殊字元就需要用引號將值進行引用, 在bash中可以使用單引號或者雙引號。
環境:centos 6.7
賦值
給變數賦值:
var=value
特別註意變數和值之間不要存在空格,否則會被認為是等值判斷,比如[var = value]
調用變數只需要在變數前加上$
輸出變數:
echo $value
或
echo ${value}
例:寫一個shell腳本輸出今天的日期
vim assign
#!/bin/bash var=`date +'%Y-%m-%d'` echo "today is $var"
運算
[]、(())
註意上面的兩種是固定的寫法,都是用來在shell中做算術運算,並且在這兩個操作符前都需要使用$符合,在括弧裡面變數前可以使用$也可以不使用
#!/bin/bash var1=1 var2=2 result1=$[var1+var2] result2=$[$result1+1] result3=$((result2+1)) result4=$(($result3+1)) echo $result1 $result2 $result3 $result4
在shell環境中可以使用let,[],(())進行基本的算術運算。
let
let的算術運算包括,let本身也可以進行賦值
方法1:簡單算術運算
var1=1 var2=2 let result=var1+var2
方法2:自加
let var2++ 等同於 let var2=var2+1
方法3:簡寫
let var2+=2 等同於 let var2=var2+2
腳本
#!/bin/bash var1=1 var2=2 let result=var1+var2 let var2++ let var1+=5 printf "var1=1 var2=2 \n" printf "%-10s %-8s %-6s\n" var1+var2 var2++ var1+=5printf "%-10s %-8s %-2s \n" $result $var2 $var1 let var=5 echo $var
註意:上面只是測試了加法運算,對於其他的算術運算都支持,但是只支持整形,對於存在小數的運算不支持。
高級運算bc
支持小數運算
語法echo " " | bc
如果要將bc運算出的結果作為變數可以這樣
result=`echo " " | bc `
#!/bin/bash echo "0.5*10" | bc var=5 result=`echo "$var*0.5" | bc` echo $result
總結
賦值演算法還是比較簡單,後面慢慢完善
備註: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明鏈接。 《歡迎交流討論》 |