Vous pouvez utiliser cette syntaxe shell (elle s'appelle ici document dans la littérature Unix):
#!/bin/sh
echo this is a shell script
python <<@@
print 'hello from Python!'
@@
Le marqueur après l'opérateur '<<' peut être un identifiant arbitraire, les gens utilisent souvent quelque chose comme EOF (fin de fichier) ou EOD (fin de document). Si le marqueur commence une ligne, le shell l'interprète comme une fin d'entrée pour le programme.
Si votre python
le scénario est très court. Vous pouvez le passer sous forme de chaîne à python
en utilisant le -c
choix :
python -c 'import sys; print "xyzzy"; sys.exit(0)'
Ou
python -c '
import sys
print("xyzzy")
sys.exit(0)
'
Vous pourriez écrire
exec python <<END_OF_PYTHON
import sys
print ("xyzzy")
sys.exit(0)
END_OF_PYTHON
pour remplacer le processus Bash par Python et transmettre le programme spécifié à Python sur son entrée standard. (Le exec
remplace le processus Bash. Le <<END_OF_PYTHON
fait que l'entrée standard contient tout jusqu'à END_OF_PYTHON
.)