GNU/Linux >> Tutoriels Linux >  >> Linux

Script mixte shell et python possible ?

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 .)


Linux
  1. Script Shell avec fonction et paramètre comme variables ?

  2. Formater la date et l'heure pour le script ou la variable du shell Linux

  3. Est-il possible de changer l'environnement d'un processus parent en Python ?

  4. Changer le répertoire de travail dans le shell avec un script python

  5. Copier et écraser un fichier dans un script shell

Comment comparer des nombres et des chaînes dans le script shell Linux

Comment créer et exécuter un script shell dans Debian 10

Comment créer et exécuter un script Shell dans CentOS 8

Comment créer et exécuter un script shell dans Ubuntu 22.04

Est-il possible de créer des dossiers de manière récursive à l'aide d'un script shell ?

Différence entre les commandes dans le script bash et les commandes dans le terminal