So führen Sie mehrzeilige Anweisungen in einer einzeiligen Befehlszeile aus
Beim Ausführen einer einzeiligen Schleife mit der Python-Option -c , führt das Importieren eines Moduls vor der Schleife zu einem Syntaxfehler. Dies liegt daran, dass der Python-Interpreter den Codeblock als eine einzelne Anweisung behandelt.
Um dieses Problem zu lösen, können mehrere Methoden eingesetzt werden:
Verwenden von Pipes
Um den Syntaxfehler zu beheben, verwenden Sie den Echo-Befehl, um den Codeblock als Reihe von Eingabezeilen an Python umzuleiten:
echo -e "import sys\nfor r in range(10): print 'rob'" | python
Verwenden von exec()
Ein anderer Ansatz besteht darin, die Funktion exec() zu verwenden, um den Codeblock als Python-Skript auszuführen:
python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"
Erweitern auf mehrere Zeilen
Bei Verwendung von Pipes oder Wenn exec() nicht möglich ist, kann der Codeblock auf mehrere durch Semikolons getrennte Zeilen erweitert werden:
(echo "import sys" ; echo "for r in range(10): print 'rob'" ; echo "exec(\"import sys\nfor r in range(10): print 'rob'")") | python
Durch die Verwendung dieser Techniken können Sie mehrzeilige Anweisungen in einer einzigen Befehlszeile ausführen und dabei die gewünschten beibehalten Struktur für Ihr Makefile.
Das obige ist der detaillierte Inhalt vonWie führe ich mehrzeilige Befehle in einer einzigen Befehlszeile aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!