而Bash中的循环没有运行

时间:2016-09-17 19:39:34

标签: bash while-loop

我是Bash脚本的新手,并且无法让我的'while'循环运行。当我回显keywords时,会打印出一整个单词列表,然后当我回显length时,它会打印124。我相信我正在使用while循环和条件正确,所以我无法弄清楚我做错了什么。有什么想法吗?

keywords=$1
length=${#keywords}

echo "$keywords"
echo "$length"

if [ -z "$keywords" ]; then
    while [ $length -gt 100 ]; do
        echo "$keywords"
        echo "$length"

        keywords="${keywords%,*}"
        length=${#keywords}
    done
fi

echo $keywords

1 个答案:

答案 0 :(得分:2)

问题在于:

[ -z "$keywords" ]
如果

-z的参数为空字符串,则为真。长度为124的东西绝对不是空的。你可能意味着-n

下次,请在问题中加入输入,以便我们重现问题。