我对此没有寄予厚望,但我想做的是创建一个桌面快捷方式,单击该快捷方式会打开一个终端(最好是 mate-terminal,但我不挑剔),运行一个命令,然后在交互式会话中使终端保持打开状态。理想情况下,我可以在新窗口中向上箭头以重新运行命令。
我尝试过的事情:
mate-terminal --command "bash -c 'ls;$SHELL'"
:我看不到运行了什么命令,也无法向上箭头重新运行该命令。Changing the MATE terminal preferences to Keep Open
:它使窗口保持打开状态,但不是交互式的。我能做的就是关闭它。xterm -hold -e 'bash -c "ls"&&$SHELL'
:我看不到运行了什么命令,也无法向上箭头重新运行该命令。
我要做的是为命令行应用程序创建一个快捷方式,该应用程序打开一个终端并运行whatevertool -h
,然后等待用户做他们需要做的事情。我想要的可能吗?
您可以简单地尝试结合
--rcfile
选项和修改历史。如果正在运行的命令更复杂,我会使用显式脚本而不是涉及引用问题的复杂命令到文件重定向
cmd.sh 在哪里
安装
expect
并编写以下期望脚本:(如果您的 shell 提示符以不同于“$”的内容结尾——例如,您计划从 root 运行它——在第三行中适当地更改它。)
配置您的 GNOME 或 MATE 终端配置文件以运行此脚本而不是 shell,并使用该配置文件启动终端(例如
gnome-terminal --window-with-profile=PROFILENAME
,创建运行此命令的快捷方式)。那应该可以满足您的要求:您将看到正在运行的命令,并且应该能够使用向上箭头返回到该命令,并且在命令结束后终端保持交互状态。