【发布时间】:2021-07-13 13:34:49
【问题描述】:
我需要运行一个 bash 脚本并获取输出。该脚本有一个带有变量的循环。
当我仅粘贴 bash 脚本时它在终端屏幕上工作,但当我使用 Python 使用子进程时它会出错。代码如下:
import subprocess
text1 = """
declare -a StringArray=("a1" "a2" "a3" "a4" "a5" )
for val in ${StringArray[@]}; do
echo $val
done
"""
text_output = (subprocess.check_output(text1, shell=True).strip()).decode()
这是错误:
/bin/sh: 2: Syntax error: "(" unexpected
Traceback (most recent call last):
.
.
.
' returned non-zero exit status 2.
解决办法是什么?
Python3.7, OS: Debian-like Linux, Kernel: 4.19.
【问题讨论】:
标签: python python-3.x bash terminal subprocess