Shell脚本:生成一个运行命令的终端,并能够在新生成的终端中挂起/恢复作业

eoxn13cs  于 2023-10-23  发布在  Shell
关注(0)|答案(1)|浏览(104)

我想使用shell脚本或shell命令来生成/打开一个新的终端,并立即在其中运行命令。不过,它也应该给予我暂停并在以后恢复新终端正在运行的命令/程序的能力。
当我尝试这样做时,我能够产生新的终端,其中运行着程序,但是每当我尝试挂起它时,终端挂起。
本质上,我的用例是运行一个脚本,打开一个文本文件,以便在nano中进行编辑,并能够挂起nano,如果它是从shell交互式启动的,而不是通过脚本,通常可以这样做。
我找了很多,但我从来没有找到一个解决方案。
我试过很多方法,但总是失败。如果没有shell脚本,我所做的就是将xterm,cd生成到包含file.txt的文件夹中,然后在终端中发出nano file.txt。Nano打开编辑文件,我可以暂停它(^T^Z),做任何我需要做的事情,并在完成后恢复它。
但是,如果我通过脚本运行它,例如。

#!/bin/sh
xterm -e "nano file.txt"

nano打开很好,但是如果我试图挂起它(^T^Z),终端挂起。
为什么会发生这种情况?有什么办法可以达到我的目的吗?

nkhmeac6

nkhmeac61#

您可以使用set -m设置作业控制:

xterm -e bash --rcfile <(echo 'set -m; nano file.txt')

相关问题