bash
スクリプトの引数が 5 桁の整数かどうかをテストしたいと考えています。
if [ "$1" == [0-9][0-9][0-9][0-9][0-9] ]; then
echo "first arg is 5 digits"
else
echo "not 5 digits"
これは私にはうまくいきません。関数を使用するなど、これを行う簡単な方法はありexpr
ますか?
で参照CONDITIONAL EXPRESSIONS
してくださいman bash
:
if [[ "$1" =~ ^[0-9]{5}$ ]]; then
echo "first arg is 5 digits"
else
echo "not 5 digits"
fi
この種の式をテストするときは、二重括弧を使用する必要があります。
case "$1" in
[0-9][0-9][0-9][0-9][0-9]) echo "first arg is 5 digits" ;;
*) echo "not 5 digits" ;;
esac