Pass bash-argument zu einem python-Skript
Ich versuche, erstellen Sie ein bash-Skript übergibt seine eigene argument auf ein python-Skript. Ich will es so.
Wenn ich es laufen wie diese:
script.sh latest
Dann innerhalb der bash-Skript, es läuft ein python-Skript mit dem "neuesten" argument wie dieses:
python script.py latest
Ebenso, wenn das bash-Skript mit dem argument 123 dann das python-Skript wie folgt:
python script.py 123
Kann mir jemand helfen zu verstehen, wie dies zu erreichen bitte?
- Was haben Sie versucht, so weit? Die Weitergabe und Verwendung von Argumenten in bash-Skripten ist Teil jeder anständige Anleitung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In diesem Fall der trick ist, vergehen jedoch viele Argumente, die Sie haben, auch für den Fall, wo keine vorhanden sind, zu bewahren und jede Gruppierung, die es auf der original-Befehlszeile.
So, Sie wollen in diesen drei Fällen zu arbeiten:
Es ist nicht wirklich ein natürlicher Weg, dies zu tun, weil die shell ist eine makro-Sprache, so dass Sie Hinzugefügt haben einige Magische syntax, die nur DTRT.
Im pythonscript
script.py
verwendengetopt.getopt(args, options[, long_options])
um die Argumente.Beispiel:
Einem sehr goo buit-in-parser ist argparse. Sie können es verwenden, wie folgt:
In der bash, Argumente an das Skript übergeben werden aufgerufen, mit der
$#
notation (# eine Zahl. Mit $# genau so sollte Ihnen die Anzahl der args) übergeben. Also, wenn du wolltest Argumente:Aufruf des scripts:
Innerhalb des Skripts:
"$1"
um die Leerzeichen beizubehalten