1

我正在使用以下 bash 脚本,它有几个问题:

  1. 在第一个被杀死之前,第二个 xterm 不会启动
  2. 我必须杀死每一个用退出而不是简单的 $exit 启动的 xterm
  3. 我运行脚本的 bash 终端被锁定,直到两个 xterm 都被杀死
  4. 我想在启动 xterm 和 ssh 到服务器后更改目录

    read -s -p "PW? " password
    
    xterm -bg red -fg yellow -hold -e sshpass -p $password ssh user@server1
    
    xterm -bg blue -fg yellow -hold -e sshpass -p $password ssh user@server2
    

任何帮助,将不胜感激。谢谢。

提供的解决方案使我能够创建以下完美运行的解决方案:

xterm -bg red -fg yellow -e sshpass -p $password ssh -Y -t user@server1 'cd /home/user/work; $SHELL -i' &
xterm -bg blue -fg yellow -e sshpass -p $password ssh -Y -t user@server2 'cd /home/user/work/; $SHELL -i' &
4

1 回答 1

2

问题 (1) 和 (3) 通过在后台启动 xterms 得到解决:

xterm -bg red  -fg yellow -hold -e sshpass -p $password ssh user@server1  &
xterm -bg blue -fg yellow -hold -e sshpass -p $password ssh user@server2  &

问题 (4),你可以用 做更多有趣的事情expect,但应该这样做(只用 ssh 测试,而不用 xterm 和 sshpass 测试):

xterm -bg blue -fg yellow -hold -e sshpass -p $password ssh -t user@server2 'cd /var/log; $SHELL -i'  &

它假定您的 SHELL 理解-i为“交互式外壳”。
请注意添加-t到 ssh 的选项。

于 2014-12-19T16:54:38.883 回答