我有以下代码,已经使用多年,但最近在升级系统时(从 Ubuntu 14.04 到 16.04)出现了故障
_SNAME=$1-$2
TERM=xterm ssh x.y.z.com -t tmux new-session -A -s $_SNAME \'ssh $1\'
这对我来说是:
- 如果 tmux 会话存在,则连接到它
- 如果 tmux 会话不存在,请创建一个新的 tmux 会话并通过 SSH 连接到我的远程服务器
然而,升级我的操作系统后,它坏了,现在我只能得到[exited]
.
问题似乎是当我指定在 tmux 会话(\'ssh $1\'
部分)中运行的命令时
tmux 是否改变了语法?我找到了另一种方法来做到这一点tmux send-keys
,但它远不那么干净
答案1
你的引用(可能)是混乱的。可能,因为你的命令似乎对我有用。不要发送单引号,只需确保命令被引用即可:
_SNAME="$1-$2"
TERM=xterm ssh -t x.y.z.com tmux new-session -A -s "$_SNAME" "ssh $1"
您可能会遇到的情况是'ssh
找不到该命令。
您也可以尝试使用"'ssh $1'"
作为最后一个参数,但这相当于您已经在尝试的内容。