我创建了一个生成远程shell或运行本地shell的脚本,无论它是否在当前机器上:
#!/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选项等等。有什么想法吗?
答案 0 :(得分:1)
我使用以下内容:
screen -t gmail alpine -i -p $HOME/.pinerc-gmail
screen -t work alpine -i -p $HOME/.pinerc-work
这很有效。什么是1和2?你试过删除它们吗?
你可以尝试使用另一个程序而不是spawnshell吗?也许启动vim和emacs?如果那些工作,那么你的脚本是错误的而不是你的screenrc。