我想测试我的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