Cómo ejecutar declaraciones de varias líneas en una línea de comando de una sola línea
Al ejecutar un bucle de una sola línea con la opción -c de Python , importar un módulo antes del bucle genera un error de sintaxis. Esto se debe a que el intérprete de Python trata el bloque de código como una sola declaración.
Para resolver este problema, se pueden emplear varios métodos:
Usar tuberías
Para superar el error de sintaxis, use el comando echo para redirigir el bloque de código a Python como una serie de líneas de entrada:
echo -e "import sys\nfor r in range(10): print 'rob'" | python
Usar exec()
Otro enfoque es usar la función exec() para ejecutar el bloque de código como un script de Python:
python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"
Expandiendo a varias líneas
Si se usa pipes o exec() no es factible, el bloque de código se puede expandir a varias líneas separadas por punto y coma:
(echo "import sys" ; echo "for r in range(10): print 'rob'" ; echo "exec(\"import sys\nfor r in range(10): print 'rob'")") | python
Al utilizar estas técnicas, puede ejecutar declaraciones de varias líneas en una sola línea de comando mientras mantiene la estructura deseada para su Makefile.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3