GNU/Linux >> Znalost Linux >  >> Linux

Je možný smíšený skript Shell a python?

Můžete použít tuto syntaxi shellu (nazývá se zde dokument v unixové literatuře):

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

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

Značka za operátorem '<<' může mít libovolný identifikátor, lidé často používají něco jako EOF (konec souboru) nebo EOD (konec dokumentu). Pokud značka začíná řádek, shell to interpretuje jako konec vstupu pro program.


Pokud je vaše python scénář je velmi krátký. Můžete jej předat jako řetězec python pomocí -c možnost:

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

Nebo

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

Mohl bys napsat

exec python <<END_OF_PYTHON

import sys

print ("xyzzy")

sys.exit(0)
END_OF_PYTHON

nahradit proces Bash Pythonem a předat zadaný program Pythonu na jeho standardním vstupu. (exec nahrazuje proces Bash. <<END_OF_PYTHON způsobí, že standardní vstup obsahuje vše až do END_OF_PYTHON .)


Linux
  1. Časový limit ve skriptu Shell?

  2. Shell Script:Třídění souborů do adresářů a podadresářů?

  3. Shell skript s funkcí a parametrem jako proměnnými?

  1. Jak spouštět skripty Pythonu ze shellu

  2. Jak mohu ftp a stáhnout soubory ze skriptu prostředí UNIX

  3. Je možné změnit prostředí nadřazeného procesu v Pythonu?

  1. konvence pojmenování pro shell skript a makefile

  2. Je možné vytvořit skript pro uložení a obnovení oprávnění?

  3. Rozdíl mezi příkazy v bash skriptu a příkazy v terminálu