Ich habe ein Problem mit diesem Code:Praxis Shell-Programmierung (Anfänger)
#! /bin/sh
i=0
while [ $i -lt 5 ] ; do
echo $1
i=$((i + 1))
sleep 1
done
Wenn ich das Skript als ./boucle_arg.sh 2
laufen, ich folgende Fehlermeldung erhalten:
./boucle_arg.sh: line 4: [: missing `]'
Die diese shebang kann stattdessen Problem ist Zitat klar: '[0 -lt' würde diesen Fehler ergeben. Aber ich glaube nicht, dass der Code, den Sie gepostet haben, tatsächlich der Code ist, der dieses Problem verursacht. – andlrc
Sein Code funktioniert auf meinem Computer, wenn man den Shebang ändert - siehe meine Antwort. –
Vergewissern Sie sich, dass das Problem beim Kopieren und Einfügen dieses Codes auftritt und nicht bei Verwendung einer eigenen Version. Leute "säubern" manchmal Code, bevor sie es veröffentlichen, und z.B. Ändern 'while [$ i -lt 5]; tun 'zu 'während [$ i -lt 5]; do 'ist genug, um die Bedeutung zu ändern. –