
Ich habe dieses Bash-Skript geschrieben, um ungerade Zahlen zu drucken, aber der Code funktioniert nicht. Mit der if-Anweisung stimmt etwas nicht. Kann mir jemand den Fehler aufzeigen?
for((c=0;c<100;c++));
do
if ["$c" % 2 != 0] ; then
echo $c;
fi
done;
Antwort1
Das klingt ein bisschen wie eine Schulaufgabe, daher finden Sie hier nicht die endgültige Antwort, sondern nur die Informationen, die Sie zur Erledigung der Aufgabe benötigen.
Zunächst einmal [
handelt es sich um ein Befehlszeilenprogramm. Der Fehler, den Sie wahrscheinlich erhalten, bash: [0: command not found
usw. soll Ihnen also sagen, dass Bash Platz benötigt, um die von Ihnen übergebenen Argumente zu verstehen.
Das nächste Problem ist [
die Suche nach einer Anweisung, die einen Booleschen Wert ergibt. Sie möchten wahrscheinlich einen Weg finden, die Mathematik in eine Subshell zu unterteilen oder anderweitig einzukapseln. Schauen Sie sich anexpr
Hoffentlich hilft das!
Antwort2
Für Personen, die nach diesen Informationen suchen, kann diese Aufgabe wie folgt erledigt werden:
Folge 1 2 99
Um es besser zu verstehen, sollten Sie Folgendes überprüfen:
Mann-Sequenz