我想测试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
函数?
答案 0 :(得分:4)
在CONDITIONAL EXPRESSIONS
点击man bash
:
if [[ "$1" =~ ^[0-9]{5}$ ]]; then
echo "first arg is 5 digits"
else
echo "not 5 digits"
fi
答案 1 :(得分:4)
测试此类表达式时,必须使用双括号。
答案 2 :(得分:0)
case "$1" in
[0-9][0-9][0-9][0-9][0-9]) echo "first arg is 5 digits" ;;
*) echo "not 5 digits" ;;
esac