bash数组的元素作为python的单独命令行参数

时间:2019-03-18 02:12:33

标签: arrays python-3.x bash

我有一个bash数组,该数组具有以字符串形式的路径作为其元素。

${arr[0]} = "path/to/json1"
${arr[1]} = "path/to/json2"
${arr[2]} = "path/to/json3"

以此类推...

现在我想将所有这些元素作为命令行参数同时传递给同一bash脚本中的python命令

python3 script.py ${arr[0]} ${arr[1]} ${arr[2]}

但是问题是arr中的元素数会变化并且不是固定的。因此,我无法像上面那样将每个元素硬编码为单独的参数。

我们如何将bash数组的所有元素作为命令行参数传递给python命令?

1 个答案:

答案 0 :(得分:2)

使用${arr[@]}来引用整个数组。

python3 script.py "${arr[@]}"

这不是特定于Python的方法,而是将所有数组元素传递给任何命令的方法。

除非有充分理由不这么做,否则也应始终引用shell变量。