我试图从一个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字符串,看看它是否有任何区别。 –