Antworten:
Dies ist eine Funktion des for
zusammengesetzten Befehls, wie beschrieben durch help for
:
for: for NAME [in WORDS ... ] ; do COMMANDS; done
Führen Sie Befehle für jedes Mitglied in einer Liste aus.
Die
for
Schleife führt eine Folge von Befehlen für jedes Mitglied in einer Liste von Elementen aus. Wennin WORDS ...;
nicht vorhanden,in "$@"
wird angenommen. Für jedes Element inWORDS
,NAME
wird auf dieses Element gesetzt, und derCOMMANDS
ausgeführt werden.
Der von Ihnen angegebene Code wird also wahrscheinlich in einem Skript ausgeführt, das mit 4 Parametern aufgerufen wurde.
for x; do …
ist eine Abkürzung für for x in "$@"; do …
: Sie iteriert über die Positionsparameter. Wenn es viermal wiederholt wird, bedeutet dies, dass Sie vier Positionsparameter ( $1
durch $4
) haben.
set a b c d
irgendwann irgendwann benutzt haben. Ich benutzeset
diese Art oft in einem Skript zum Testen. Nach dem Neustart des Terminals hat es aufgehört ... (macht jetzt Sinn).