在终端中运行命令,然后在完成后将命令保留在终端中

在终端中运行命令,然后在完成后将命令保留在终端中

我遇到一个问题,我需要从终端启动一个命令,并在完成后让终端保持打开状态并继续使用我使用的命令。原因是根据某些情况,我可能需要再次运行它。

我编写了一个 bash 脚本来运行几个终端命令,它看起来像这样

$ launch.bash /path/to/data

代码片段如下

xterm -hold -geometry 200x20+2+700 -e "python /home/me/doSomething.py --directory $1; echo python /home/me/doSomething.py --directory $1; bash"

现在它将启动 Python 脚本,并在完成后打印我使用的命令。最好将命令打印到命令行本身,这样我就可以按回车键了。有办法吗?

答案1

在命令行上重新输入命令不是一件容易的事(如果不在软件中模拟键盘,我不知道还有什么其他方法)。您可以做的是在按下 Enter 时重新运行该命令:

while true
do
    xterm -hold -geometry 200x20+2+700 -e "python /home/me/doSomething.py --directory $1; echo python /home/me/doSomething.py --directory $1"
    echo "Press enter to run the command again or CTRL+C to cancel"
    read
done

或者您可以按下返回到最后运行的命令,然后按回车键。

相关内容