如何在bash脚本中检查参数的长度

时间:2015-03-30 10:50:08

标签: bash arguments

如何在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 " arg的长度。 1必须是1"

LENGTH是1,但它仍然相呼应。

我也试过这个:

args=("$@")
if [ ${#args[0] -gt 1]; then
    echo "Length of arg. 1 must be 1"
fi

然而,它并没有回应任何东西。

1 个答案:

答案 0 :(得分:1)

您可以使用:

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