我試圖從一個python腳本傳遞一些參數,bash腳本以下列方式:如何從Python中捕捉輸入在bash腳本
input_string = pathToScript + " " + input1 + " " + input2 + " " + input3 + " " + input4 + " " + \
input5 + " " + input6 + " " + input7 + " " + input8 + " " + input9 + " " + input10
args = shlex.split(input_string)
p = subprocess.Popen(args)
,所有的inputX
都是字符串。每個參數都應傳遞給腳本,腳本的路徑存儲在變量pathToScript
中。我現在希望能夠趕在bash腳本這些參數就像我平時做的事:
#No input check yet...
history_file = "$1"
folder_history_file = "$2"
folder_bml_files = "$3"
separate_temperature = "$4"
separate_temperature_col_index = "$5"
separate_sight = "$6"
separate_sight_col_index = "$7"
separate_CO = "$8"
separate_CO_col_index = "$9"
separate_radiation = "$10"
這會導致像line 61: separate_CO_col_index: command not found
錯誤所有這些線和錯誤不會出現在相同的方式行是有序的。換句話說,第61行的錯誤有時會在第60行的錯誤之前被捕獲,看起來來自Eclipse的輸出(我在Eclipse中使用PyDev)。
是否無法像這樣運行bash腳本?我已經嘗試了下面的方法。 17.1.1.1在這裏,但我可能沒有正確理解它:python docs
首先,看看使用列表來存儲數據而不是10個單獨命名的變量。其次,如果你想連接這樣的字符串(你不應該在這裏),使用'join()'。第三,如果你把數據放在一個列表中,concat> split to list>傳遞給參數序列變得多餘(這已經是浪費了,所以你應該擺脫它)。 –
是的,我肯定會使用一個列表,只是嘗試了一個concatinated字符串,看看它是否有任何區別。 –