整數運算:
a=4b=5
c=$a+$b //你以為這樣的結果是9嗎?
echo $c //4+5
shell預設都是字串操作的,所以得到的才是4+5,而不是9,怎麼搞?
1.加點料(()),用這個把這個表示式括起來
((c=a+b)) //這裡不需要用$引用了
echo $c //9
或者更簡單的寫法:
echo $((a+b))
2.用let語句
let c=a+b
echo $c //9
上面這兩種,想想寫法是不是跟其它的程式語言差不多了,不需要$
浮點運算(我喜歡用awk來做):
awk 'begin' 結果是30.02,現在我想獲取這個返回結果,怎麼處理?用$()把命令包起來。
result=$(awk 'begin' )
echo $result
借助bc實現:
echo "1.2+2.3"|bc
浮點數的比較:
if [ `echo "1.2>1.1"|bc` -eq 1 ]; then
echo "true"
else
echo "false"
fi字串的比較:(用"=","==","!=")左右需要空格
a="jd"
b="taobao"
if [ $a = $b ]; then
echo "開玩笑"
else
echo "....."
fi
shell 基本運算
root 41157cff18cd workspace expr 2 4 運算子中間由空格 6root 41157cff18cd workspace expr 2 4 2root 41157cff18cd workspace expr 2 4 號前要加轉義符,否則syntax error 8root...
Linux中shell基本運算
shell程式中的操作預設都是字串操作,在要執行數 算符的時候可能得到意想不到的答案 var 1 var var 1 echo var output 1 1從這個例子中可以看出shell字串連線的操作,需要注意的是空格。在shell中可以使用let來指示下面是算術表示式,let表示式內變數不用加 v...
Shell 基本運算子
好久沒用過shell了,最近複習下。扣了幾張老大部落格的圖嘿嘿.shell 和其他程式語言一樣,支援多種運算子,包括 原生bash不支援簡單的數 算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。expr 是一款表示式計算工具,使用它能完成表示式的求值操作。示例 root...