我正在寻找一种方法来自动化我的开发环境的启动。我有三个必须启动的虚拟机,然后必须启动ssh
它们并在它们上打开 VPN。
到目前为止,我已经让他们开始并设法通过 ssh 访问他们:
#!/bin/sh
virsh start virtual_1
virsh start virtual_2
virsh start virtual_3
sleep 2m
gnome-terminal --title "virtual_3: server" -x ssh root@192.168.1.132 &
gnome-terminal --title "virtual_2: 11.100" -x ssh root@192.168.11.100 &
gnome-terminal --title "virtual_1: 12.100" -x ssh root@192.168.12.100 &
如何在每个启动 openvpn 的终端中执行附加命令?
为简单起见,我尝试echo 1
在每个终端中而不是启动 VPN。
我发现终端启动上的多个命令可以像这样运行:
gnome-terminal -x bash -c "cmd1; cmd2"
所以为了让一个终端保持简单,我改变了:
gnome-terminal --title "virtual_3: server" -x ssh root@192.168.1.132 &
到:
gnome-terminal --title "virtual_3: server" -x bash -c "ssh root@192.168.1.132 ; echo 1" &
但1
没有打印在 virtual_3 的终端上。然后我想,也许在终端准备好之前命令执行得太快了,所以我尝试添加&&
:
gnome-terminal --title "virtual_3: server" -x bash -c "ssh root@192.168.1.132 &&; echo 1" &
但这也没有结果。