Вернуть значение из python script в оболочку script
Я новичок в python. Я создаю python script, который возвращает мир hello. и создаем оболочку script. добавьте вызов из оболочки в python script.
- Мне нужно передать аргументы из оболочки в python.
- Мне нужно распечатать значение return из python в оболочке script.
это мой код
shellscript1.sh
#!/bin/bash
# script for tesing
clear
echo "............script started............"
sleep 1
python python/pythonScript1.py
exit
pythonScript1.py
#!/usr/bin/python
import sys
print "Starting python script!"
try:
sys.exit('helloWorld1')
except:
sys.exit('helloWorld2')
Ответы
Ответ 1
Вы не можете вернуть сообщение в качестве кода выхода, только цифры. В bash он может быть доступен через $?
. Также вы можете использовать sys.argv
для доступа к параметрам кода:
import sys
if sys.argv[1]=='hi':
print 'Salaam'
sys.exit(0)
в оболочке:
#!/bin/bash
# script for tesing
clear
echo "............script started............"
sleep 1
result=`python python/pythonScript1.py "hi"`
if [ "$result" == "Salaam" ]; then
echo "script return correct response"
fi
Ответ 2
Передать аргументы командной строки оболочке script на Python следующим образом:
python script.py $1 $2 $3
Распечатайте код возврата следующим образом:
echo $?