如何检查 bash 脚本中参数的长度?
假设参数的长度不应超过 1。
args=("$@")
if [ ${args[0] -gt 1]; then
echo "Length of arg. 1 must be 1"
fi
然而,这不能正常工作,因为它会检查 args[0] > 1 而不是 len(args[0] > 1):./sth.sh 2 1 1
“参数的长度。1 必须是 1”
LENGTH 是 1,但它仍然回响。
我也试过这个:
args=("$@")
if [ ${#args[0] -gt 1]; then
echo "Length of arg. 1 must be 1"
fi
但是,它没有回显任何内容。
最佳答案
你可以使用这个:
if [ "$#" -ne 1 ]; then
echo "Illegal number of parameters"
fi
Or
if test "$#" -ne 1; then
echo "Illegal number of parameters"
fi
后来检查这样每个参数的长度:
for var in "$@"
do
check=${#var}
if [ $check -ne 1 ]; then echo "error" ; exit
fi
done
关于bash - 如何检查bash脚本中参数的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29344250/