Maison  >  Article  >  développement back-end  >  Comment exécuter des commandes multilignes dans une ligne de commande sur une seule ligne ?

Comment exécuter des commandes multilignes dans une ligne de commande sur une seule ligne ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-18 11:14:03279parcourir

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

Exécuter des commandes multilignes dans une ligne de commande sur une seule ligne

Lors de l'utilisation de l'option -c de Python pour exécuter une boucle sur une seule ligne, importer un module avant la boucle peut entraîner une erreur de syntaxe. Ce problème se pose car la ligne de commande traite l'intégralité de la commande comme une seule ligne de code.

Pour surmonter cette limitation, il existe plusieurs approches :

  • Utiliser Echo :

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

    Cette commande utilise echo pour insérer des sauts de ligne dans la chaîne de commande, que Python interprète ensuite comme plusieurs lignes.

  • Utilisation d'Exec :

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

    Cette approche utilise la fonction exec pour exécuter dynamiquement une chaîne sous forme de code Python.

  • Utilisation de sous-shell :

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

    Cette commande divise la commande en plusieurs lignes à l'aide de sous-shell. Chaque ligne est ensuite exécutée indépendamment.

  • Utilisation de la réponse de Crist :

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

    Cette approche ajoute un point-virgule avant la boucle for pour indiquer que l'instruction d'importation est une commande distincte.

  • Utilisation de la réponse de SilentGhost :

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

    Cette approche utilise la syntaxe de compréhension de liste de Python pour exécuter la boucle et attribuez le premier résultat à x.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn