Si të ekzekutoni kodin e vogël Python në Bash


Bash nuk është vetëm dhe madje jo aq shumë funksione të integruara të guaskës sa programet e linjës së komandës (shërbimet). Duke ekzekutuar këto komanda dhe duke transferuar të dhënat e marra në tubacion (përmes tubit), mund të automatizoni një sërë gjërash, programimi i të cilave në gjuhë të tjera programimi mund të kërkojë shumë përpjekje.

Ky postim do t'ju tregojë se si të ekzekutoni kodin Python në Bash dhe si të ekzekutoni një program Python në një skript Bash.

Si të ekzekutoni kodin Python në Bash

Në vijën e komandës Bash, përdorni konstruktin e mëposhtëm për të ekzekutuar kodin:


python -c "CODE"

Për shembull:


python -c "print (\"It works\")"

Një tjetër opsion që mund të jetë i dobishëm në rrethana më ekzotike:


bash -c 'python -c "print (\"CODE\")"'

Për shembull:


bash -c 'python -c "print (\"It works\")"'

Si të ekzekutoni një program Python në një skript Bash

Për të ekzekutuar një program Python në një skript Bash, përdorni një komandë si:


python SCRIPT.py ARGUMENT1 ARGUMENT2 ARGUMENT3

Një shembull i ekzekutimit të skriptit extractor.py duke kaluar dy argumente: vlerën e ndryshores $line dhe 8080:


python extractor.py $line 8080

Si të ekzekutoni një program Python në një skript Bash dhe t'i caktoni daljen e tij një ndryshoreje

Nëse ju duhet të ekzekutoni një skript Python dhe më pas caktoni daljen e programit në një variabël Bash, atëherë përdorni një ndërtim si ky:


ПЕРЕМЕННАЯ=`python SCRIPT.py ARGUMENT1 ARGUMENT2 ARGUMENT3`

Shembull:


response=`python extractor.py $line 8080 2>/dev/null | sed -E "s/\/\/.+:/\/\/$line:/"`

Si të futni kodin Python në një skript Bash

Nëse kodi Python nuk mund të përdoret në një linjë dhe nuk dëshironi të përdorni një skript të jashtëm për të thirrur, atëherë ndërtimi i mëposhtëm do të funksionojë për ju:


#!/bin/bash

script=`cat <<_EOF_
CODE
_EOF_`

echo "$script" | python

Aty ku është KODI, ngjisni kodin Python.

Ky shembull funksionon:


#!/bin/bash

value="I will be in the script!"

script=`cat <<_EOF_
print ("It works")
print ("Line 2")
print ("Line 3: $value")
_EOF_`

echo "$script" | python

Një variant tjetër i këtij ndërtimi:


python << END
... CODE ...
END

Dhe një opsion tjetër, në të cilin dalja caktohet si vlera e ndryshores ABC:


ABC=$(python << END ... END)