所以,我试图通过命令行自动执行在Linux上运行的python应用程序菜单。我知道我需要输入什么命令来浏览菜单,但似乎无法弄清楚如何让shell脚本完成我想要的操作。相反,它会等待应用程序关闭以完成脚本。例如:
我的shell脚本:
#!/usr/bin/bash
./App.py
echo '1'
echo '2'
echo '3'
我期待发生什么
[adminuser@localhost BASH]$ ./auto.sh
Welcome to App.py!
Enter 1 to continue or 2 to exit: 1
Enter 2 to continue or 3 to exit: 2
等...
相反,我必须自己继续浏览菜单,然后在应用程序终止时输出所有回声。
这里需要注意的是,我无法安装任何不会安装在Ubuntu中的库。此计算机未联网,出于安全原因无法与任何磁介质交互。我有什么选择?
提前致谢!
答案 0 :(得分:0)
您的脚本应如下所示:
(echo -e "1\n2\n3") | python App.py
答案 1 :(得分:0)
你也可以使用" here-doc" -
app.py<<DONE
1
2
3
DONE
但我讨厌那些。将您期望的响应抛出到文本文件中,然后使用从中重定向的stdin执行。
printf "1\n2\n3\n">response.in # I assume it would be a little more complex
App.py << response.in # reads response.in as input
然后,您甚至可以在响应中获得各种响应.1,响应2等。