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)