蘭雅sRGB 个人笔记 https://262235.xyz
提供编程和电脑应用视频教程,工具和源代码
C, C++, Python Programming, Source Code, Video

旧Hexo博客 | Github | IP定位WebAPI | Docker Hub
编程中文文档 | 网盘分享 | 中文Linux命令

使用 tmux脚本 和 Xshell快速命令 定制环境,定制一键Docker面板

tmux.webp

Xshell_7_快速命令栏导入包.zip

我们可以使用 tmux 的客户端-服务器模型(client-server model)来创建一个定制的脚本来自动地构建开发环境、分割窗口并运行程序。

tmux-docker.sh

#!/bin/bash
tmux new-session -d -s ssh    # 后台新建一个session
tmux split-window -h          # 切割窗口(左右)
tmux split-window -v          # 切割窗口(上下)

tmux select-pane -t 0         # 选择0号窗口  # 发送命令
tmux send-keys "iptables -nvL DOCKER; docker ps -a" C-m

tmux select-pane -t 1
tmux send-keys "htop" C-m

tmux select-pane -t 2
tmux send-keys "docker exec -it  nginx-php bash" C-m
tmux send-keys "cd /var/www/html" C-m
tmux send-keys "php i.php" C-m

tmux select-pane -t 0 
tmux send-keys "echo;echo;echo -e ':: 登录tmux窗口: tmux a -t ssh    后台保持:tmux: Ctrl+b-d    关闭: Ctrl+d'" C-m

tmux a -t ssh                # 登录tmux窗口    
# tmux kill-session -t ssh   # 停止后台session
  • 如图 Xshell 快速命令栏添加一个快速命令,粘贴以上内容 使用 #\r 结尾
  • 然后点一下鼠标,就能自动开启 tmux 窗口和你想要的命令
  • tmuxhtop 需要提前安装 apt install tmux htop

我们在一个堡垒机上,运行tmux,然后分别向其他受控制机器,发送合适的命令

tmux select-pane -t 1  # 窗口编号按实际变化
tmux send-keys "ssh root@192.168.1.111" C-m
tmux send-keys "cd /root; ls -1a" C-m

为了快速命令通用,我们先使用 tmux a -t ssh 登陆之前已有 tmux 服务,检查 $? 返回值判断是否存在名称 ssh的旧session

#!/bin/bash
tmux a -t ssh
if [ $? == 1 ]; then
    tmux new-session -d -s ssh    # 后台新建一个session
    tmux split-window -h          # 切割窗口(左右)
    tmux split-window -v          # 切割窗口(上下)
    
    tmux select-pane -t 0         # 选择0号窗口  # 发送命令
    tmux send-keys "iptables -nvL DOCKER; docker ps -a" C-m
    tmux select-pane -t 1
    tmux send-keys "htop" C-m
    tmux select-pane -t 2
    tmux send-keys "docker exec -it  nginx-php bash" C-m
    tmux send-keys "cd /var/www/html" C-m
    tmux send-keys "php i.php" C-m
    
    tmux select-pane -t 0 
    # tmux send-keys "echo;echo;echo -e ':: 登录tmux窗口: tmux a -t ssh    后台保持:tmux: Ctrl+b-d    关闭: Ctrl+d'" C-m
    tmux a -t ssh                # 登录tmux窗口    
    # tmux kill-session -t ssh   # 停止后台session
fi #\r 
本原创文章自由转载,转载请注明本博来源及网址 | 当前页面:兰雅sRGB个人笔记 » 使用 tmux脚本 和 Xshell快速命令 定制环境,定制一键Docker面板