現在のマシン上にあるかどうかに関係なく、リモート シェルを生成するか、ローカル シェルを実行するスクリプトを作成しました。
#!/bin/bash
# By: benoror <benoror@gmail.com>
#
# spawns a remote shell or runs a local shell whether it's on the current machine or not
# $1 = hostname
if [ "$(hostname)" == "$1" ]; then
bash
else
ssh "$1.local"
fi
たとえば、私がserver1にいる場合:
./spawnshell.sh server1 -> runs bash
./spawnshell.sh server2 -> ssh to server2.local
そのスクリプトを GNU Screen の別々のタブで自動的に実行したいのですが、実行できません.screenrc:
...
screen -t "@server1" 1 exec /home/benoror/scripts/spawnshell.sh server1
screen -t "@server2" 2 exec /home/benoror/scripts/spawnshell.sh server2
...
しかし、それは機能しません。「exec」なしで、-X オプションなどを使用して試しました。何か案は ?