GNU/Linux >> Linux Esercitazione >  >> Linux

Possibile script misto shell e python?

Puoi usare questa sintassi della shell (si chiama here document nella letteratura Unix):

#!/bin/sh
echo this is a shell script

python <<@@
print 'hello from Python!'
@@

Il marcatore dopo l'operatore '<<' può essere identificato da un identificatore arbitrario, le persone spesso usano qualcosa come EOF (fine del file) o EOD (fine del documento). Se il marcatore inizia una riga, la shell lo interpreta come fine dell'input per il programma.


Se il tuo python la sceneggiatura è molto breve. Puoi passarlo come stringa a python usando il -c opzione:

python -c 'import sys; print "xyzzy"; sys.exit(0)'

Oppure

python -c '
import sys
print("xyzzy")
sys.exit(0)
'

Potresti scrivere

exec python <<END_OF_PYTHON

import sys

print ("xyzzy")

sys.exit(0)
END_OF_PYTHON

per sostituire il processo Bash con Python e passare il programma specificato a Python sul suo input standard. (Il exec sostituisce il processo Bash. Il <<END_OF_PYTHON fa in modo che lo standard input contenga tutto fino a END_OF_PYTHON .)


Linux
  1. Formatta data e ora per lo script o la variabile della shell Linux

  2. È possibile modificare l'ambiente di un processo genitore in Python?

  3. convenzione di denominazione per script di shell e makefile

  4. È possibile creare uno script per salvare e ripristinare i permessi?

  5. È possibile creare cartelle in modo ricorsivo usando lo script di shell?

Come confrontare numeri e stringhe nello script della shell di Linux

Come creare ed eseguire uno script di shell in Debian 10

Come creare ed eseguire uno script di shell in CentOS 8

Come creare ed eseguire uno script di shell in Ubuntu 22.04

Cambia la directory di lavoro nella shell con uno script python

Copia e sovrascrivi un file nello script della shell