Puede usar esta sintaxis de shell (se llama aquí documento en la literatura de Unix):
#!/bin/sh
echo this is a shell script
python <<@@
print 'hello from Python!'
@@
El marcador después del operador '<<' puede ser un identificador arbitrario, la gente a menudo usa algo como EOF (fin de archivo) o EOD (fin de documento). Si el marcador comienza una línea, el shell lo interpreta como el final de la entrada del programa.
Si tu python
el guión es muy corto. Puedes pasarlo como una cadena a python
utilizando el -c
opción:
python -c 'import sys; print "xyzzy"; sys.exit(0)'
O
python -c '
import sys
print("xyzzy")
sys.exit(0)
'
Podrías escribir
exec python <<END_OF_PYTHON
import sys
print ("xyzzy")
sys.exit(0)
END_OF_PYTHON
para reemplazar el proceso Bash con Python y pasar el programa especificado a Python en su entrada estándar. (El exec
reemplaza el proceso Bash. Los <<END_OF_PYTHON
hace que la entrada estándar contenga todo hasta END_OF_PYTHON
.)