[英]Passing variable from python script to bash script
目前正在嘗試將參數從我的python腳本傳遞到我創建的bash腳本。 如何從python腳本向bash腳本獲取用戶輸入?
這是我的python腳本“ passingParameters.py”的代碼,我曾嘗試將其變量(循環)發送到bash腳本。 我已經通過將輸出發送到另一個我用來讀取輸入的python腳本來測試了此python腳本(在我調整了代碼之后)。
loop = str(sys.argv[1])
subprocess.check_call( ["./test.sh", loop], shell=True)
這是我的bash腳本“ test.sh”的代碼。 我已經單獨測試了此腳本,以確認當我僅從命令行調用bash腳本時,它確實收到用戶輸入。
echo "This number was sent from the passParameters.py script: " $1
如果使用shell=True
則可執行文件為/bin/sh
,然后調用test.sh但從不看到loop
變量。 您可以設置shell=False
並將#!/bin/sh
到shell腳本中,
#! /bin/sh
echo "This number was sent from the passParameters.py script: " $1
和
subprocess.check_call( ["./test.sh", loop], shell=False)
或將變量作為字符串傳遞:
subprocess.check_call( ["./test.sh %s" % loop], shell=True)
shell=True
不建議使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.