我是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
答案 0 :(得分:2)
问题在于:
[ -z "$keywords" ]
如果 -z
的参数为空字符串,则为真。长度为124的东西绝对不是空的。你可能意味着-n
。
下次,请在问题中加入输入,以便我们重现问题。