Zugriff auf Zeilenargumente im Shell-Skript


1

Ich frage mich, ob es möglich ist, auf den vollständigen Befehlszeilenaufruf im Shell-Skript zuzugreifen. In meinem Skript muss ich es weitergeben. Ich finde, dass es $ @ - und $ * -Zugriffsmethoden gibt, aber es werden nicht alle Zeichen übergeben, z. B. wenn ich in die Befehlszeile schreibe: $ my_script xyz -m "something here" und in meinem Skript wie folgt auf Befehlszeilenargumente zugreife:

Argumente = "$ *"

echo $ Argumente

Ich werde sehen , Ausgabe: xyz -m something here. Es wurden leider Zitate entfernt, ist es möglich diese zu behalten? Dann möchte ich diese Argumente an ein anderes Skript weitergeben, ich weiß nicht, wie viele davon sein werden und an welcher Position in der Zeile ich Anführungszeichen haben werde.

Antworten:


2

Eigentlich löse ich mein Problem, bevor ich in meinem ersten Skript das zweite Skript, wie ich es oben geschrieben habe, auslöse, aber tatsächlich sollte ich in meinem ersten Skript Folgendes verwenden:

zweites_skript "$ @"

Um das zweite Skript auszulösen, funktioniert es jetzt wie erwartet. Relevant sind Anführungszeichen um $ @.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.