要求: 于tmux内部链接ssh什么时候, 假设有多个ssh主机。 我们要显示相应的主机ip要显示筛查

实现效果

编辑你的bashrc, 由于我习惯在root下操作, 所以/root/.bashrc。 你假设习惯用user。 那就编辑/home/你的username/.bashrc

添加

ssh() {

    if [ "$(ps -p $(ps -p $$ -o ppid=) -o comm=)" = "tmux" ]; then

            tmux rename-window "$*"

            command ssh "$@"

            tmux set-window-option automatic-rename "on" 1>/dev/null

    else

            command ssh "$@"

    fi

}

到你的bashrc

保存后就可以。

唯一须要注意的是。由于我习惯ssh -參数 參数值 root@ip 这样来訪问, 由于改动了ssh的这个。导致參数值会无法正常识别。这里把參数參数值放到后面就可以。

附tmux.conf配置

#bind r source-file ~/.tmux.conf \;display "Reloaded!"

# #      重置预设置

set -g prefix C-a               #设置命令为ctrl-a触发prefix

unbind C-b                      #解绑ctrl-b

bind C-a send-prefix            #设置预命令为prefix





# #      面板切割

unbind '"'

bind | split-window -h          #左右切割

unbind %

bind - split-window -v          #上下切割





bind k select-pane -U           #选择上窗体 shift+k

bind j select-pane -D           #选择下窗体

bind h select-pane -L           #选择左窗体

bind l select-pane -R           #选择右窗体





bind K resize-pane -U 5         #窗格上移5  (Ctrl-k一起按)

bind J resize-pane -D 5         #窗格下移5

bind H resize-pane -L 5         #窗体左移5

bind L resize-pane -R 5         #窗体右移5





bind -r K resize-pane -U 5      #窗体反复操作

bind -r J resize-pane -D 5      #窗体反复操作

bind -r H resize-pane -L 5      #窗体反复操作

bind -r L resize-pane -R 5      #窗体反复操作









bind ^u swapp -U                #与上窗格交换   (Ctrl-u)

bind ^d swapp -D                #与下窗格交换   (Ctrl-u)





# # enable vi keys.

setw -g mode-keys vi            #兼容vi按键





# #      像vi一样复制    全部复制都会被记录在缓冲区,输入#或tmux list-buffers查看,=也能够选择粘贴缓冲区

unbind [

bind Escape copy-mode           #绑定Esc进入复制模式

#unbind p                        #解绑p

bind P paste-buffer             #绑定p为粘贴

bind -t vi-copy 'v' begin-selection #绑定v为选择

bind -t vi-copy 'y' copy-selection  #绑定y为复制





#setting the delay between PREFIX and command

set -sg escape-time 1









# # Set the base index for windows to 1 instead of 0

set -g base-index 1





# # Set the base index for panes to 1 instead of 0

setw -g pane-base-index 1





# #      又一次载入配置文件

bind r source-file /etc/tmux.conf \; display "Reloaded!"









# # Quick pane selection        #Prefix+Ctrl+h/l循环windows

bind -r C-h select-window -t :-

bind -r C-l select-window -t :+









# # mouse support - set to on if you want to use the mouse

setw -g mode-mouse off

set -g mouse-select-pane off

set -g mouse-resize-pane off

set -g mouse-select-window off





# # Set the default terminal mode to 256color mode

set -g default-terminal "screen-256color"

set -g display-time 2000

set -g history-limit 10000





# # enable activity alerts

setw -g monitor-activity on

set -g visual-activity on





# # set the status line's colors

set -g status-fg white

set -g status-bg black





# # set the color of the window list

setw -g window-status-fg cyan

setw -g window-status-bg default

setw -g window-status-attr dim





# # set colors for the active window

setw -g window-status-current-fg white

setw -g window-status-current-bg red

setw -g window-status-current-attr bright





# # pane colors

set -g pane-border-fg white

set -g pane-border-bg black

set -g pane-active-border-fg blue

#set -g pane-active-border-bg colour240





# # Command / message line

set -g message-fg white

set -g message-bg black

set -g message-attr bright





# # Status line left side

set -g status-left-length 20

set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"

set -g status-utf8 on





# # Status line right side

# # 15% | 28 Nov 18:15

set -g status-right "#[fg=cyan]%Y-%m-%d %H:%M:%S "





# # Update the status bar every sixty seconds

set -g status-interval 60





# # Center the window list

set -g status-justify centre





# # Maximize and restore a pane

unbind Up

bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp

unbind Down

bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp





# # Working with the Clipboard on Linux

bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"

bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"

版权声明:本文博主原创文章。博客,未经同意不得转载。

bash构造tmux显示tmux ssh状态的更多相关文章

  1. SQL Server系统视图sys.master_files不能正确显示数据库脱机状态

    最近发现在SQL Server数据库(目前测试过SQL Server 2008, 2012,2014,2016各个版本)中,即使数据库处于脱机(OFFLINE)状态,但是sys.master_file ...

  2. 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本

    20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...

  3. 实例节点的NTP服务器地址配置正确,而且能够ping通, 但是在chronyc sources指令中显示NTP服务器状态为“?”

    问题:如果实例节点的NTP服务器地址配置正确,而且能够ping通,   但是在chronyc sources指令中显示NTP服务器状态为“?”, 该如何检查并操作. 1)在chrony配置文件中,检查 ...

  4. pwd命令和修改PS1环境变量在bash行的显示

    一.pwd:显示当前所在的位置 语法 pwd [选项] ... 描述       打印当前工作目录的完整文件名. -L,--logical              从环境使用PWD,即使它包含符号链 ...

  5. git bash中不能显示中文

    git bash中不能显示中文 问题描述:当使用git log查看提交日志时,中文字符不能正常显示问题 1.首先把git的配置改一下 git config --global core.quotepat ...

  6. Centos-配置网络或显示当前网络接口状态-ifconfig

    ifconfig 配置网络或显示当前网络接口状态,必须由root用户执行 相关选项 -a 显示所有网络接口信息,包括活动或非活动 -s 显示活动接口简要信息 -v 如果网卡接口出现错误则返回错误信息 ...

  7. 使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态

    查看本章节 查看作业目录 需求说明: 使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态.点击列表的项,切 ...

  8. ASP.net中GridView中增加一行记录并默认显示为编辑状态

    //添加 protected void Button1_Click(object sender, EventArgs e) { DataSet ds = (DataSet)pa.GetDataSet( ...

  9. Linux 命令 - jobs: 显示后台作业的状态信息

    命令格式 jobs [-lnprs] [jobspec ...] jobs -x command [args] 命令参数 -l 额外显示作业的进程 ID. -n 只列出状态发生变化的进程. -p 只列 ...

随机推荐

  1. 只能从脚本中调用在类定义上有[ScriptService]属性的Web服务问题的解决方案

    ajax调用webservice中的接口时, 会出现[只能从脚本中调用在类定义上有[ScriptService]属性的...]的异常. 这是因为, 在.net3.5中, 访问web服务, 要对web服 ...

  2. SQL SERVER中的流程控制语句

    流程控制语句 是指用来控制程序运行和流程分至点额命令.一般指的是逻辑计算部分的控制. 1.Begin End语句 封装了多个T-SQL语句组合,将他们组成一个单元来处理. 一般在条件查询或者循环等控制 ...

  3. COCO-Android开发框架公布

    一. COCO-Android说明 二. COCO-Android结构图 三. COCOBuild 四. COCOFrame 一.COCO-Android说明 1. COCO-Android是支撑An ...

  4. gulp快速入门

    gulp快速入门 因为之前一直有人给我推荐gulp,说他这里好哪里好的.实际上对我来说够用就行.grunt熟悉以后实际上他的配置也不难,说到效率的话如果真是要完整打包上线也不在乎那么几秒时间,对于项目 ...

  5. 解决eclipse project前出现红色感叹号 但没有提示错误出在什么地方build path jar包也没报错

    在problems窗体能够看到错误信息 菜单条 window-->show view-->problems 或alt+shift+q 然后按x 又一次选一下包就攻克了

  6. 《Cocos2d-x实战(卷Ⅰ):C++开发》

    <Cocos2d-x实战(卷Ⅰ):C++开发>   基础篇 第1章    准备开始 1.1   本书学习路线图 1.2   使用实例代码   第2章    Cocos2d-x介绍与环境搭建 ...

  7. C/S与B/S谁与争锋之我见

    看到网上有些人在讨论C/S架构和B/S架构以及它们的发展趋势,后起之秀B/S是否真将取代C/S而存在?在发表我的观点之前,我们先来一起来回顾下C/S以及B/S. 一C/S 1.C/S概念 C/S是Cl ...

  8. poj 3311 状压DP

    经典TSP变形 学到:1.floyd  O(n^3)处理随意两点的最短路 2.集合的位表示,我会在最后的总结出写出.注意写代码之前一定设计好位的状态.本题中,第0位到第n位分别代表第i个城市,1是已经 ...

  9. 搭建ganglia集群而且监视hadoop CDH4.6

    前言 近期在研究云监控的相关工具,感觉ganglia颇有亮点,能从一个集群总体的角度来展现数据. 但是安装过程稍过复杂,相关依赖稍多,故写此文章与大家分享下. 本文不解说相关原理,若想了解请參考其它资 ...

  10. VS2010 TFS

    在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的. 作为一名软件开发者,在我的职业生涯中,我常常会用 ...