- 追加された行はこの色です。
- 削除された行はこの色です。
* セッション内で複数ウィンドウを開いて任意のシェルコマンドを実行する [#j0fc9aa1]
* セッション内の複数ウィンドウに対し任意のシェルコマンドを実行する [#j0fc9aa1]
** 新規にウィンドウを開いてコマンドを実行する [#m22540ac]
screenを起動してセッション内にいる状態で、以下のシェルスクリプトを実行すると、ウィンドウを指定したホスト分開いて、それぞれのウィンドウでsshコマンドで接続する。
#!/bin/bash
HOSTS="192.168.0.10 192.168.0.20"
idx=1
for h in $HOSTS; do
screen $idx
screen -p $idx -X exec ssh $h
idx=$(($idx + 1))
screen -X screen ssh $h
done
- screen Nでウィンドウ番号を指定してウィンドウを開き、
- -p でウィンドウを指定して、-X execで任意のシェルスクリプトを実行する。
** 参考 [#u88636f7]
*** 参考 [#u88636f7]
- http://www.gnu.org/software/screen/manual/screen.html#Invoking-Screen
- http://www.delorie.com/gnu/docs/screen/screen_12.html
** 既存のウィンドウにコマンドを送る [#ke1a9020]
screen -X at 1 $'ls /tmp\n'
screen -X at \# stuff $'ls /tmp\n'
*** 参考 [#s1990aad]
- http://www.gnu.org/software/screen/manual/html_node/Paste.html
- http://aperiodic.net/screen/quick_reference