Ich bin ziemlich neu mit Bash-Skripten und habe Probleme, meine 'while' Schleife zu laufen. Wenn ich ein Echo keywords
, eine ganze Liste von Wörtern druckt und dann, wenn ich Echo length
, druckt es 124
. Ich glaube, dass ich die while-Schleife und die Bedingung richtig verwende, damit ich nicht herausfinden kann, was ich falsch mache. Irgendwelche Gedanken?While-Schleife in Bash nicht ausgeführt
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
Die gesamte 'if'-Anweisung ist unnötig; Wenn der String leer ist, wird '[$ length -gt 100]' fehlschlagen und die Schleife wird einfach übersprungen. – chepner
Ich habe die Dokumentation falsch gelesen und hatte die leere Zeichenfolge Flagge rückwärts. Vielen Dank! –