[
コマンドは整数同士しか比較しないので小数点を含む数があらわれるとたちまち「integer expression expected」というエラーに見舞われる。
そうすると小数の比較を[コマンドでも可能にする工夫を凝らすか別の方法を模索しなければならない。暇を掛けずにやるならbc
がらくちんである。bcにパイプで不等式を渡してやると関係を満たさないものは0、満たすものは1を返してくる。
$ echo '1.99 == 2.00' | bc 0 $ echo '2.00 != 2.00' | bc 0 $ echo '1.99 > 2.00' | bc 0 $ echo '1.99 >= 2.00' | bc 0 $ echo '2.00 == 2.00' | bc 1 $ echo '1.99 != 2.00' | bc 1 $ echo '1.99 < 2.00' | bc 1 $ echo '1.99 <= 2.00' | bc 1
bcをインストールできない環境であれば、cut
コマンドでピリオドをデリミタとして指定し、整数部分と小数部分を分けたのちにそれぞれを比較するシェルスクリプトを拵えるのもよさそうである。
なおbcはbasic calculator或いはbench calculatorの略のようであるけれどもはっきりした出典は探し当てられなかった。