爲了滿足功能要求,我必須檢索一個佔空比參數(0.01%的0-100%)。Bash整數表達式預計
用於測試,我寫的東西一樣簡單:
#!/bin/bash
#
if [ "$1" -lt 0 ] || [ "$1" -gt 100 ]
then
echo "bad param"
else
echo "ok"
fi
我獲得:
[email protected]:~# ./test.sh 11
ok
[email protected]:~# ./test.sh 11,01
./test.sh: line 4: [: 11,01: integer expression expected
./test.sh: line 4: [: 11,01: integer expression expected
bad param
如何實現這種測試的?
我假設你使用','作爲小數點?正如你的錯誤告訴你的那樣,bash只支持整數。 –
您將不得不使用'bc'(例如,請參閱http://stackoverflow.com/questions/12952427/bash-test-for-number-in-range-with-float-numbers) – fredtantini
@SnP:您可以使用'awk'爲此。 – anubhava