在Linux Shell中,Bash是最常用的一種。Bash語言中,變量定義的時(shí)候是不需要指定類型的,因?yàn)樗凶兞慷际亲址愋偷摹?/p>
但有的時(shí)候,我們需要一個(gè)變量存的是整數(shù),這樣,我們可以方便對(duì)其加加減減。這如何做到呢?
Bash語言其實(shí)是支持算術(shù)操作和比較的,這要求變量中存的每一個(gè)字符都是數(shù)字。如 VAR=123,這樣的變量可以進(jìn)行算術(shù)操作或比較;而VAR=abc,這樣的變量就不行了。
1 Bash語言中的算術(shù)操作:
雙圓括號(hào)被用于告訴Bash,括號(hào)中的內(nèi)容是算數(shù)操作:
$((算術(shù)操作))
例如:
# VAR=123
# ((VAR++))
# echo $VAR
124
# ((VAR=42))
# echo $VAR
42
# for ((VAR=0; VAR<10; VAR++))
> do
> echo $((VAR + VAR + (2 * VAR)))
> done
0
4
8
12
16
20
24
28
32
36
一個(gè)錯(cuò)誤的例子:
# VAR=abc
# ((VAR++))
# echo $VAR
1
2 Bash中的算數(shù)比較:
# VARIABLE=123
# if [ $VARIABLE -eq 123 ] ; then echo yes ; else echo no ; fi
yes
或者
# VARIABLE=123
# if [ $VARIABLE == 123 ] ; then echo yes ; else echo no ; fi
yes
還有很多算術(shù)比較的關(guān)鍵字,如:-ge (大于或等于),-gt(大于)... ,這些符號(hào)可以通過 man test 命令查到:
# man test
[(1) User Commands [(1)
NAME
test - check file types and compare values
SYNOPSIS
test EXPRESSION
[ EXPRESSION ]
[ OPTION
...