Я довольно новичок в сценариях Bash, и у меня проблемы с запуском цикла «while». Когда я эхо keywords
, весь список слов печатает, а затем, когда я эхо length
, он печатает 124
. Я считаю, что я правильно использую цикл while и условия, поэтому я не могу понять, что я делаю неправильно. Есть предположения?Пока цикл в Bash не работает
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
Вся инструкция 'if' не нужна; если строка пуста, '[$ length -gt 100]' будет терпеть неудачу, и цикл будет просто пропущен. – chepner
Я, должно быть, неправильно прочитал документацию и имел пустой флаг строки назад. Спасибо! –