기다리고 실행할 Bash 스크립트를 만듭니다.

기다리고 실행할 Bash 스크립트를 만듭니다.

제가 기본적으로 이루고자 하는 것은 일을 시작할 때마다 하는 일을 자동화하는 것입니다.

저는 이 순서대로

  1. VPN 연결
  2. gnome-terminal탭 열기
  3. SSH를 통해 원격 컴퓨터에 연결

지금까지 나는 이것을 가지고 있습니다 :

WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
xdotool windowfocus $WID
xdotool type --delay 1 --clearmodifiers "sudo openvpn --config 'conn1.ovpn'"
xdotool key Return

xdotool key ctrl+shift+t
wmctrl -i -a $WID
sleep 1

while ! $(/usr/bin/fping -q 192.168.0.5); do sleep 1;done

xdotool type --delay 3 --clearmodifiers "ssh machine1"
sleep 3
xdotool key Return

내가 겪고 있는 문제는 SSH 명령을 사용하려면 먼저 VPN 연결을 열어야 한다는 것입니다. 마지막 절전 명령을 입력하면 코드가 3초 동안 기다린 다음 Enter 키를 누르는 것 같습니다.

실제로 일어나는 일은 openvpn마지막 절전 모드가 끝날 때까지 명령이 실행되지 않으므로 SSH 명령이 실패한다는 것입니다.

누구든지 내가 가야 할 방향을 알려줄 수 있나요?

답변1

SSH를 시작하기 전에 대기 루프를 배치하십시오.

while ! $(/usr/bin/fping -q <openvpn remote endpoint ip>); do sleep 1;done

관련 정보