Wie führe ich mehrzeilige Befehle in einer einzeiligen Befehlszeile aus?

Barbara Streisand
Freigeben: 2024-10-18 11:14:03
Original
276 Leute haben es durchsucht

How to Execute Multi-Line Commands in a One-Line Command Line?

Mehrzeilige Befehle in einer einzeiligen Befehlszeile ausführen

Wenn Sie die Python-Option -c zum Ausführen einer einzeiligen Schleife verwenden, Das Importieren eines Moduls vor der Schleife kann zu einem Syntaxfehler führen. Dieses Problem entsteht, weil die Befehlszeile den gesamten Befehl als eine einzige Codezeile behandelt.

Um diese Einschränkung zu überwinden, gibt es mehrere Ansätze:

  • Verwenden Echo:

    <code class="bash">echo -e "import sys\nfor r in range(10): print 'rob'" | python</code>
    Nach dem Login kopieren

    Dieser Befehl verwendet Echo, um Zeilenumbrüche in die Befehlszeichenfolge einzufügen, die Python dann als mehrere Zeilen interpretiert.

  • Verwenden von Exec:

    <code class="bash">python -c "exec(\&quot;import sys\nfor r in range(10): print 'rob'\&quot;)&quot;</code>
    Nach dem Login kopieren

    Dieser Ansatz verwendet die exec-Funktion, um einen String dynamisch als Python-Code auszuführen.

  • Verwenden von Subshells:

    <code class="bash">(echo "import sys" ; echo "for r in range(10): print 'rob'") | python</code>
    Nach dem Login kopieren

    Dieser Befehl teilt den Befehl mithilfe von Subshells in mehrere Zeilen auf. Jede Zeile wird dann unabhängig ausgeführt.

  • Verwenden von Crasts Antwort:

    <code class="bash">python3 -c "import sys ; for r in range(10) : print('rob')"</code>
    Nach dem Login kopieren

    Dieser Ansatz fügt ein Semikolon vor der for-Schleife hinzu, um dies anzuzeigen Die Importanweisung ist ein separater Befehl.

  • Antwort von SilentGhost verwenden:

    <code class="bash">python3 -c "import sys ; x = [print('rob') for r in range(10)][0]"</code>
    Nach dem Login kopieren

    Dieser Ansatz verwendet Pythons Listenverständnissyntax, um die Schleife auszuführen und weisen Sie das erste Ergebnis x zu.

Das obige ist der detaillierte Inhalt vonWie führe ich mehrzeilige Befehle in einer einzeiligen Befehlszeile aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!