web-dev-qa-db-ja.com

戻り値python script to Shell script

pythonで新しいです。 am python文字列hello worldを返すスクリプトを作成します。Shellスクリプトを作成します。Shellからの呼び出しをpythonスクリプトに追加します。

  1. シェルからpythonに引数を渡す必要があります。
  2. シェルスクリプトでpythonからの戻り値を出力する必要があります。

これは私のコードです

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') 
19
Abdul Manaf

メッセージを終了コードとして返すことはできません。数字のみを返します。 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
22
Ali Nikneshan

コマンドライン引数をシェルスクリプトにPythonのように渡します:

python script.py $1 $2 $3

次のようなリターンコードを出力します。

echo $?