bash
スクリプトの数が0
(0)か正の整数であるかをテストする方法は?
ベストアンサー1
一般的なイディオムは、変数の値が数値でのみ構成されていることを確認することです。最新のbashシェルでは=~
正規表現を使用できます。
zero_or_positive_integer(){
for i in "$@"; do
if [[ "$i" =~ ^[0-9]+$ ]]; then
echo "YES $i is either 0 or a positive integer"
else
echo "NO $i is neither 0 nor a positive integer"
fi
done
}
結果:
$ zero_or_positive_integer foo -2 1.5 0 12
NO foo is neither 0 nor a positive integer
NO -2 is neither 0 nor a positive integer
NO 1.5 is neither 0 nor a positive integer
YES 0 is either 0 or a positive integer
YES 12 is either 0 or a positive integer