Ich möchte nicht unbedingt die Antwort, aber wenn mich jemand auf Literatur oder Beispiele hinweisen könnte. Ich würde es gerne herausfinden.
Wenn ich das Skript ausführe, erhalte ich eine Fehlermeldung:
Syntaxfehler in der Nähe eines unerwarteten Tokens
fi
Ich habe festgestellt, dass mein Problem in meiner ifAussage liegt, indem ich meine ifAussagen kommentierte und hinzufügte, in echo "$NAME"der die Namen angezeigt werden /etc/.
Wenn ich Änderungen vornehme, die #aus ifund entferne fiund zu hinzufüge #, wc -c "$NAME"wird der oben aufgeführte Syntaxfehler angezeigt. Ich habe ;zwischenzeitlich hinzugefügt ]. Ich bin auch thenohne Auflösung in die nächste Zeile gewechselt.
#!/bin/bash
for NAME in /etc/*
do
if [ -r "$NAME" -af "$NAME" ] then
wc -c "$NAME"
fi
done
-afsoll das denn machen
-aist überflüssig, da die Bedingung bereits enthalten ist -f. --- Auf jeden Fall müssen mehrere Bedingungen innerhalb [ ](dieser Befehl ist auch verfügbar als test) mit logischen Operatoren wie -a(und) oder -o(oder) verknüpft werden. Wie in der Antwort unten vorgeschlagen, ist es jedoch besser, mehrere [ ]( test) Befehle und Verknüpfungen zu verwenden sie mit Shell-Operatoren wie &&oder ||.