$* \ ||, eval und "\; bedeuten?

$* \ ||, eval und "\; bedeuten?

Könnten Sie bitte den folgenden Code erklären? Was bedeuten $* \ ||und eval?"\;

Nachfolgend sind die Funktionen aufgeführt.

Initialization_variables 
error_message
quit_error_chk 

Initialization_variables $* \
|| eval error_message "Error in Initialization_variables function ..."\
; quit_error_chk 1

Antwort1

Wie in den Kommentaren erwähnt, können die Symbole größtenteils gefunden werden, indem man hineinschaut man shund nach diesen Zeichen sucht. Hier ist eine Zusammenfassung:

$*wird auf die Kommandozeilenparameter erweitert, die an das Skript übergeben werden

\entzieht dem nächsten Zeichen die Interpretation durch die Shell und setzt in diesen Fällen die aktuelle Befehlszeile mit der nächsten Zeile fort.

||ist der Shell-Operator „oder“. Der Befehl nach dem ||wird nur ausgeführt, wenn der Befehl vor dem ||fehlgeschlagen ist.

evalVerketten Sie alle Argumente mit Leerzeichen. Analysieren Sie dann den Befehl erneut und führen Sie ihn aus. Es scheint keinen Grund zu geben, dass er in diesem Skript enthalten ist.

"\ Eigentlich nicht miteinander verbunden. Das Anführungszeichen beendet den vorhergehenden Literalstring, der Backslash setzt den Befehl in die nächste Zeile fort.

man shWeitere Einzelheiten und Informationen zur richtigen Verwendung dieser Funktionen finden Sie hier .

verwandte Informationen