【发布时间】:2020-04-29 02:16:13
【问题描述】:
我只有一个通过 SSH 连接到远程设备的 shell(sh,而不是 bash)登录。该脚本以exec "$@" 结尾,据我所知,它会将所有参数作为字符串传递。
现在我想在一个新的 tmux 会话中执行最后一个命令,以便程序在连接丢失的情况下继续运行。
这是一个机器人项目,因此我假设连接被部分中断。
如何将其包装成一个命令,在 tmux 中运行 exec "$@"?
我已经尝试过:
tmux new "exec \"$@\""
和
tmux new -s session send-keys "exec \"$@\""
以及只有"exec $@"的两种变体@
但是,shellchecker 或我的草稿 .sh 文件似乎没有任何作用。如果有任何帮助,我将不胜感激。
【问题讨论】:
-
澄清一下:这与 ROS 一起使用。
Roslaunch允许机器标签通过 ssh 连接到另一台机器,在该机器上执行默认脚本,最后一行是exec "$@",经过一些变量设置。我想将最后一部分包装到 tmux 中,以防连接丢失。