如何在tmux上复制ssh会话
发布时间:2020-11-14 12:46:41 所属栏目:Linux 来源:互联网
导读:我想再次复制我的ssh会话. 例如,我的窗口名称是“user @ host”.我希望按前缀键S在新窗口中执行’ssh user @ host’ $tmux bind S confirm-before neww ssh #W 尝试之后,它只发出一个没有’user @ host’选项的ssh命令 CentOS 7上的tmux版本为1.8. 你可以试试
我想再次复制我的ssh会话. 例如,我的窗口名称是“user @ host”.我希望按前缀键S在新窗口中执行’ssh user @ host’ $tmux bind S confirm-before "neww ssh #W" 尝试之后,它只发出一个没有’user @ host’选项的ssh命令 解决方法你可以试试这样的东西,虽然它有点难看.把它放到你的tmux.conf中:bind S neww "$(ps -ao pid,tty,args | sort | awk '$1 ~ /#{pane_pid}/{VAR=$2} $2 ~ VAR && $3 ~ /ssh/{$1=""; $2=""; print}')" 说明 创建一个名为S的绑定,并使用该参数作为初始命令打开一个新窗口 bind S neww "..." 执行内部命令的输出 $(...) 列出所有进程的pid,tty和command(带参数) ps -ao pid,args | ... 按pid排序 ... | sort | ... 将输出输入awk ... | awk '...' 找到当前窗格/窗口的tty,并将其放在VAR中(#{}由tmux替换) $1 ~ /#{pane_pid}/{VAR=$2} 查找具有我们之前找到的tty的进程并且具有以ssh开头的命令.请注意,我们假设ssh会话的pid大于调用它的shell.在大多数情况下应该如此. $2 ~ VAR && $3 ~ /ssh/{...} 删除pid,然后打印剩余部分.这将是带有所有参数和选项的ssh命令.这是将在新窗口中执行的命令. $1=""; $2=""; print (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ssh-rsync主机密钥验证失败
- linux – 防止bash脚本中的’rm -rf /’的最佳实践
- linux – Shell返回“PuTTYPuTTYPuTTY …”
- 使用Linux文件系统编写一次,多次读取(WORM)
- BEA-141150 - An error occurred while preparing applicat
- /usr/local/bin/python3:bad interpreter:ubuntu 14.04没
- linux – 如何使用RHEL5和DELL PERC控制器隔离Dell R710上的
- linux – HAProxy TCP会话计数停止在400
- /bin/bash^M: bad interpreter: 没有那个文件或目录--转载
- linux – 为什么clock_gettime(CLOCK_REALTIME,..)的调用延