我如何制作一个脚本来打开终端窗口,在其中执行命令并在Scientific Linux上保持打开状态?

贝利萨留

我正在使用科学Linux(版本= 7.6(氮))的远程服务器中工作。我用Python3做了一个简单的Web应用程序,发现自己不断打开Mate Terminal(尽管任何终端都能工作),然后编写

bash
python3 my_app.py

因此,我可以检查我的应用程序是否可以在我的浏览器中本地运行。

我想要一种方法来简化此操作,只需单击一个Shell脚本即可打开终端窗口并运行提到的命令。之后,终端窗口应保持打开状态,并且我应该能够在浏览器中检查我的Web应用程序。

我用这一行写了一个shell脚本:

gnome-terminal --tab --title="tab 1" --command="bash -c 'python3 my_app.py; $SHELL'"

如此处的建议,对于Ubuntu:https//askubuntu.com/questions/46627/how-can-i-make-a-script-that-opens-terminal-windows-and-executes-commands-in-的(注:我尝试了所有其他的答案,他们没有工作,加布里埃尔斯台普斯的答案是唯一一个几乎工作)。我还允许该文件作为程序执行。

该解决方案有两个问题。首先,终端不会保持打开状态。第二,当我点击该文件I接收下面的信息(前终端关闭时): ModuleNotFoundError: No module named 'flask'这是因为脚本在此服务器中使用了错误版本的python3。管理员安装了一个,我自己的主目录中安装了anaconda版本。bash在使用之前,我已经通过写写解决了这个问题python3 my_app.py看来,在我使用bash主目录中的文件.bashrc之后,该变量$PATH将优先于我的python3版本(在终端中$PATH写入之前和之后,我检查了该版本是否不同bash)。

我想知道是否有一种方法可以使脚本(在Scientific Linux上)打开终端窗口并在其中执行命令,然后保持打开状态。

我还想知道之后是否有一种方法可以自动在浏览器中弹出Web应用程序。

斯帕霍克

命令完成后,终端将关闭。为了使终端保持打开状态,通常会阻止脚本完成,例如,出现以下提示:

while [[ \$response != q ]]; do read -n 1 -p [q]uit? response; echo; done

因此,对于您的脚本,请将其附加到bash -c命令末尾

gnome-terminal --tab --title="tab 1" --command="bash -c 'python3 my_app.py; $SHELL'; 'while [[ \$response != q ]]; do read -n 1 -p [q]uit? response; echo; done'"

对于正在使用错误的蟒蛇,你可以加载~/.bashrc 使用 bash -i,或者你可以明确地指定Python版本/path/to/python3,而不是简单的python3在你的命令。

因此,您的最终命令是

gnome-terminal --tab --title="tab 1" --command="bash -ci 'python3 my_app.py; $SHELL'; 'while [[ \$response != q ]]; do read -n 1 -p [q]uit? response; echo; done'"

或者

gnome-terminal --tab --title="tab 1" --command="bash -c '/path/to/python3 my_app.py; $SHELL'; 'while [[ \$response != q ]]; do read -n 1 -p [q]uit? response; echo; done'"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

“打开/关闭” SqlConnection还是保持打开状态?

使查询框保持打开状态

fsockopen连接保持打开状态

某些页面保持打开状态

如何编写一个Shell脚本来打开四个终端并在每个终端中执行命令?

保持打开状态,除非单击或悬停

在关闭连接的情况下使SQL Server上的事务保持打开状态

Django模型实例保持打开状态

将v-tooltip悬停在工具提示上时保持打开状态

保持后端功能在JavaScript中保持打开状态

使Hive会话保持打开状态EMR

使HTML窗口保持打开状态,直到用户关闭它

Mac OS上的Sublime Text 3无法使项目保持打开状态

将鼠标悬停在菜单上时,保持Jquery slideDown菜单处于打开状态?

关闭窗口后,进程保持打开状态

如何制作一个可以打开终端窗口并在其中执行命令的脚本?

如何制作一个cmd脚本,该脚本一旦运行便会保持打开状态并接受新命令?

使用Cookie保持jQuery菜单保持打开状态

运行命令后如何使tmux窗口保持打开状态

是什么使Ubuntu 14上的端口32003和25419保持打开状态?

如何运行bash命令并使提示保持打开状态?

是什么使Ubuntu 14上的端口32003和25419保持打开状态?

在C ++中保持SYSDBA连接保持打开状态

Apache启动脚本使锁定文件保持打开状态

DROPDOWN不想保持打开状态

执行脚本后将gnuplot保持打开状态

终端无法启动并保持打开状态

只要鼠标悬停在工具提示上,就保持打开状态

Python Tkinter destroy toplevel 使窗口保持打开状态