我正在尝试使用python运行bash脚本,并希望将终端的输出存储到output.txt文件中。
我的bash脚本名称是exe.bash
#G
G()
{
chmod 0755 some_binary
sudo ./some_binary
}
#Execution starts from here
echo "----------------------------------------"
echo Please select a number
echo 1. something
echo 2. something
echo 3. something
echo 4. something
echo 5. something
echo 6. something
echo 7. something
read input
#Select input
case $input in
1 ) A ;;
2 ) B ;;
3 ) C ;;
4 ) D ;;
5 ) E ;;
6 ) F ;;
7 ) G ;;
* ) echo "invalid input" ;;
esac
#Done
我的python脚本名称是callexe.py
import subprocess
with open("output.txt", "w+") as output:
subprocess.call(["./exe.bash", "7", "3"], stdout = output, shell = True)
对于交互式bash脚本,第一个输入是7,它将我们带到无限循环。从那时起,应该给它3作为输入。
我所做的只是失败,因为它只提供了2个参数。有人可以帮我解决这个问题。