我的python應該執行帶有5個參數的/home/file.sh,如下所示。但是,每次執行我的python腳本時,它都會忽略參數,並且shell腳本將使用默認值執行。我也嘗試把殼變成假,但沒有成功。有任何想法嗎 ?先謝謝你!使用參數通過python執行shell腳本在執行shell腳本時始終採用默認值
var1='-t'
var2='m'
var3='20130105'
var4='-f'
var5='test.txt'
process=subprocess.Popen(['/home/file.sh', str(var1), str(var2), str(var3), str(var4), str(var5)],shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.wait()
lists=process.communicate()[0]
我曾嘗試以下,但它再次使用默認參數
process=subprocess.Popen(['/home/file.sh -t m 20140105 -f test.txt')],shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
此外,請注意,您不必顯式'wait',因爲'communic'意味着等待進程退出。 – Krumelur