bash构造tmux显示tmux ssh状态
要求: 于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状态的更多相关文章
- SQL Server系统视图sys.master_files不能正确显示数据库脱机状态
最近发现在SQL Server数据库(目前测试过SQL Server 2008, 2012,2014,2016各个版本)中,即使数据库处于脱机(OFFLINE)状态,但是sys.master_file ...
- 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本
20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...
- 实例节点的NTP服务器地址配置正确,而且能够ping通, 但是在chronyc sources指令中显示NTP服务器状态为“?”
问题:如果实例节点的NTP服务器地址配置正确,而且能够ping通, 但是在chronyc sources指令中显示NTP服务器状态为“?”, 该如何检查并操作. 1)在chrony配置文件中,检查 ...
- pwd命令和修改PS1环境变量在bash行的显示
一.pwd:显示当前所在的位置 语法 pwd [选项] ... 描述 打印当前工作目录的完整文件名. -L,--logical 从环境使用PWD,即使它包含符号链 ...
- git bash中不能显示中文
git bash中不能显示中文 问题描述:当使用git log查看提交日志时,中文字符不能正常显示问题 1.首先把git的配置改一下 git config --global core.quotepat ...
- Centos-配置网络或显示当前网络接口状态-ifconfig
ifconfig 配置网络或显示当前网络接口状态,必须由root用户执行 相关选项 -a 显示所有网络接口信息,包括活动或非活动 -s 显示活动接口简要信息 -v 如果网卡接口出现错误则返回错误信息 ...
- 使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
查看本章节 查看作业目录 需求说明: 使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态.点击列表的项,切 ...
- ASP.net中GridView中增加一行记录并默认显示为编辑状态
//添加 protected void Button1_Click(object sender, EventArgs e) { DataSet ds = (DataSet)pa.GetDataSet( ...
- Linux 命令 - jobs: 显示后台作业的状态信息
命令格式 jobs [-lnprs] [jobspec ...] jobs -x command [args] 命令参数 -l 额外显示作业的进程 ID. -n 只列出状态发生变化的进程. -p 只列 ...
随机推荐
- firebug登陆之数据包分析
登陆之数据包分析 工具: python-urllib2 | firefox+firebug或者chrome,用浏览器打开登陆页面之后,按F12键会默认打开开发者工具或者启动firebug,点击n ...
- C++ Primer中文版(第5版)
<C++ Primer中文版(第5版)> 基本信息 作者: (美)Stanley B. Lippman(斯坦利 李普曼) Josee Lajoie(约瑟 拉乔伊) Barbar ...
- PPP协议总结
PPP协议总结 PPP协议是一种在点到点链路上传输.封装网络数据包的数据链路层协议,PPP支持同步/异步方式的链路上. 一. PPP支持的链路类型 1. 同步和异步专线 2. 同步拨号链路. 3. 异 ...
- poj3252(数位dp)
题目连接:http://poj.org/problem?id=3252 题意:拆成2进制,在记录0和1的个数 求区间[a,b]中,满足传化成2进制后,0的个数>=1的个数的数字的个数... 分析 ...
- java枚举的使用
定义枚举 public enum YesOrNo { YES("是") , NO("否") ; private String text ; private in ...
- kafka解释三的具体:发展Kafka应用
一个.整体外观Kafka 我们知道.Kafka系统有三大组件:Producer.Consumer.broker . producers 生产(produce)消息(message)并推(push)送给 ...
- iOS_ScrollView的自己主动布局
ScrollView的自己主动布局稍显麻烦.但也是有规律可循, 下面就是仅竖向滑动的scrollView加入约束的固定做法 1.在控制器的view加入一个label.取名做anchor 2.给anch ...
- Red Gate系列之五 .NET Reflector 7.6.1.824 Edition .NET程序反编译神器(附插件安装教程2012-10-13更新) 完全破解+使用教程
原文:Red Gate系列之五 .NET Reflector 7.6.1.824 Edition .NET程序反编译神器(附插件安装教程2012-10-13更新) 完全破解+使用教程 Red Gate ...
- FPGA开机状态
最近调试FPGA电路时发现一个问题,我从来没有注意过.我们都知道Xilinx的FPGA有三种功率M引脚,这是为了让我们配置三个引脚FPGA装载机模式,什么是主要的字符串.从字符串.并行等.,该手册有. ...
- Effective C++:规定20: 宁pass-by-reference-to-const更换pass-by-value
(一) 假设传递参数当函数被调用pass-by-value,然后函数的参数是基于实际参数的副本最初值,调用,也得到该函数返回的结束值复印件. 请看下面的代码: class Person { publi ...