Zugriff auf Zeilenargumente im Shell-Skript

Zugriff auf Zeilenargumente im Shell-Skript

Ich frage mich, ob es möglich ist, im Shell-Skript auf den vollständigen Befehlszeilenaufruf zuzugreifen. In meinem Skript muss ich es weiterleiten. Ich stelle fest, dass es $@- und $*-Accessors gibt, aber es werden nicht alle Zeichen weitergeleitet, wenn ich beispielsweise in die Befehlszeile schreibe: $ my_script xyz -m "something here" und in meinem Skript greife ich wie folgt auf die Befehlszeilenargumente zu:

Argumente="$*"

echo $argumente

Ich werde die Ausgabe sehen: xyz -m something here. Leider wurden die Anführungszeichen entfernt. Ist es möglich, sie beizubehalten? Dann möchte ich diese Argumente an ein anderes Skript übergeben. Ich weiß nicht, wie viele es sein werden und an welcher Position in der Zeile ich die Anführungszeichen haben werde.

Antwort1

Ich habe mein Problem tatsächlich gelöst, indem ich in meinem ersten Skript ein zweites Skript gestartet habe, wie ich es oben beschrieben habe. Eigentlich sollte ich in meinem ersten Skript jedoch Folgendes verwenden:

zweites_Skript "$@"

Um das zweite Skript zu starten, funktioniert es jetzt wie erwartet. Relevant sind Anführungszeichen um $@.

verwandte Informationen