如何在建立mosh连接时运行复杂的命令?

Jun*_*hou 6 ssh shell tmux mosh

使用ssh我可以这样做:

ssh REMOTE -t 'tmux a || tmux'
Run Code Online (Sandbox Code Playgroud)

我可以做的最好的事情就是:

mosh REMOTE -- tmux a
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

mosh REMOTE -- tmux a || tmux
Run Code Online (Sandbox Code Playgroud)

这也不是:(无论是单引号还是双引号都没关系,我都试过了)

mosh REMOTE -- 'tmux a || tmux'
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:我该怎么做这个工作?

Jun*_*hou 14

好吧,似乎我必须明确使用shell来执行命令:

mosh REMOTE -- sh -c 'tmux a || tmux'
Run Code Online (Sandbox Code Playgroud)

编辑

而不是做的tmux a || tmux,更好的方法是添加new-session~/.tmux.conf和公正运行tmux.这会让事情变得更容易.我现在可以做这样的事情:

mosh REMOTE -- tmux
Run Code Online (Sandbox Code Playgroud)

真棒!

  • 你也可以做`tmux new-session -A -s somenameforsession` (2认同)