Вернуть значение из 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 $?