GNU/Linux >> Tutoriales Linux >  >> Linux

¿Es posible una secuencia de comandos mixta de shell y python?

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


Linux
  1. ¿Tiempo de espera agotado en un script de Shell?

  2. Shell Script:¿Ordenar archivos en directorios y subdirectorios?

  3. ¿Script de shell con función y parámetro como variables?

  4. Formato de fecha y hora para script o variable de shell de Linux

  5. Script de Python para listar usuarios y grupos

Cómo crear y ejecutar un script de Shell en Debian 10

Cómo crear y ejecutar un script de Shell en CentOS 8

Cómo crear y ejecutar un script de shell en Ubuntu 22.04

¿Es posible crear un script para guardar y restaurar permisos?

¿Es posible crear carpetas recursivamente usando un script de shell?

Diferencia entre comandos en bash script y comandos en terminal