我只有通过SSH连接到远程设备的shell(sh,不是bash)登录。脚本以exec "$@"
结尾,据我所知,它以字符串形式传递所有参数。现在,我想在新的tmux会话中执行最后一条命令,以便在连接断开的情况下继续执行该程序。这是一个机器人项目,因此我假设连接部分中断。
如何将其包装到将在tmux中运行exec "$@"
的命令中?
我已经尝试过:tmux new "exec \"$@\""
和tmux new -s session send-keys "exec \"$@\""
以及仅使用"exec $@"
但是,在shellchecker或我的草稿.sh
文件中似乎没有任何作用。我将非常感谢您的帮助。
尝试:
exec tmux new -- "$@"
如果不起作用,您可以尝试类似的操作:
exec tmux new -- sleep 10000
并尝试附加以确保正在运行tmux(例如,脚本可以找到tmux)。
[sh -x
可能对查看实际运行的内容也很有用。
还请记住,如果已经启动了tmux,则内部环境可能与脚本中的环境不同。