Last active
September 23, 2017 10:01
-
-
Save ka2n/77695e7f4dd423b8ecde8307664432e7 to your computer and use it in GitHub Desktop.
tmuxでサーバーの分だけ画面を分割してそれぞれ接続するシェルスクリプト
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
set -eu | |
# サーバのホスト名一覧 | |
SERVERS=( | |
"tnt1" | |
"tnt2" | |
) | |
# サーバ接続用コマンド | |
# {}がSERVERSで定義したホスト名に置き換わります。 | |
# ログイン後に実行するコマンドがあれば{}に続けて入力する | |
# | |
# 例: | |
# git pullを行う場合: | |
# | |
# SSH_COMMAND="ssh {} git pull" | |
# | |
# 共通のパラメーターがあればここに書いてもよし | |
# | |
# SSH_COMMAND="ssh -i ~/.ssh/tnt_server {} git fetch && git reset --hard origin/master && docker-compose up -d" | |
# | |
SSH_COMMAND="ssh {} top" | |
# ウィンドウの並べ方 | |
# even-vertical, even-horizontal, tiledから選ぶのがおすすめ | |
TMUX_LAYOUT=tiled | |
# 画面を開く | |
WIN=tnt | |
tmux new-window -n $WIN "${SSH_COMMAND/\{\}/${SERVERS[0]}}" | |
for i in ${!SERVERS[@]}; do | |
if [ $i -eq 0 ]; then continue; fi | |
tmux split-window "${SSH_COMMAND/\{\}/${SERVERS[$i]}}" | |
tmux select-layout $TMUX_LAYOUT | |
done | |
# コマンドの同期が不要であればコメントアウト | |
tmux set-window-option -t tnt synchronize-panes on |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
目的のコマンドが終わった後でも閉じないバージョン