我正在从bash脚本执行python脚本。python脚本输出4行到stdout。我想将这4行的输出存储在bash中的4个不同变量或一个包含4个元素的数组中。
当我单独运行python脚本时,我会看到stdout上的4行代码:
$ python my_script.py
line1
line2
line3
line4在我的bash脚本中,我已经这样做了:
OUTPUT="$(python my_script.py)"
echo "${OUTPUT}"
readarray -t y <<<"$OUTPUT" 之后,当我执行echo $y时,我只看到第一行(line1)的输出。
如何将python脚本的输出用作4个变量或数组?
发布于 2016-12-22 13:56:35
$y是数组的第一个元素。${y[@]}会给你所有的。
echo "${y[@]}"发布于 2016-12-22 14:17:21
您是将bash作为主解析器还是使用。这是因为sh没有很好的数组处理..。
但是,如果您有,为什么不在通过数组创建括号运行python脚本时创建bash数组呢?然后用约翰的方式打印出来。
OUTPUT=( $(python my_script.py) )
echo "len of OUTPUT=${#OUTPUT[@]} and the data is:" ${OUTPUT[@]}
echo "Second entry is=" ${OUTPUT[1]}... ...
https://stackoverflow.com/questions/41284754
复制相似问题