首頁  >  文章  >  後端開發  >  如何在一行命令列中執行多行命令?

如何在一行命令列中執行多行命令?

Barbara Streisand
Barbara Streisand原創
2024-10-18 11:14:03418瀏覽

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

在一行命令列中執行多行命令

當使用Python的-c選項執行一行循環時,在循環之前導入模組可能會導致語法錯誤。出現此問題的原因是命令列將整個命令視為一行程式碼。

要克服此限制,有多種方法:

  • 使用Echo:

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

    此指令使用echo在命令字串中插入換行符,然後Python 將其解釋為多行。

  • 使用 Exec:

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

    此方法使用 exec 函數將字串動態執行為 Python 程式碼。

  • 使用 Subshel​​l:

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

    此命令使用子 shell 將命令拆分為多行。然後每行獨立執行。

  • 使用Crast 的答案:

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

    這個方法在for 迴圈之前加上一個分號來指示import 語句是一個單獨的命令。

  • 使用SilentGhost 的答案:

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

    這種方法使用Python 的列表語法來執行循環並將第一個結果分配給x.

以上是如何在一行命令列中執行多行命令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn