Comment exécuter des instructions multilignes dans une ligne de commande sur une seule ligne
Lors de l'exécution d'une boucle sur une seule ligne avec l'option -c de Python , l'importation d'un module avant la boucle entraîne une erreur de syntaxe. En effet, l'interpréteur Python traite le bloc de code comme une seule instruction.
Pour résoudre ce problème, plusieurs méthodes peuvent être utilisées :
Utilisation de tuyaux
Pour surmonter l'erreur de syntaxe, utilisez la commande echo pour rediriger le bloc de code vers Python sous la forme d'une série de lignes d'entrée :
echo -e "import sys\nfor r in range(10): print 'rob'" | python
Utilisation de exec()
Une autre approche consiste à utiliser la fonction exec() pour exécuter le bloc de code en tant que script Python :
python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"
Extension sur plusieurs lignes
Si vous utilisez pipes ou exec() n'est pas réalisable, le bloc de code peut être étendu sur plusieurs lignes séparées par des points-virgules :
(echo "import sys" ; echo "for r in range(10): print 'rob'" ; echo "exec(\"import sys\nfor r in range(10): print 'rob'")") | python
En utilisant ces techniques, vous pouvez exécuter des instructions multilignes sur une seule ligne de commande tout en conservant la structure souhaitée pour votre Makefile.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3