I want to use a bash script to start an openvpn connection and once I got the tunnel established start an SSH terminal connection to a server and once I close the SSH connection also close the openvpn connection.
For the start, I tried implementing the solution proposed at https://stackoverflow.com/questions/21001220/bash-sequence-wait-for-output-then-start-next-program as a shell script
#!/bin/bash exec 3< <(sudo openvpn --config /etc/openvpn/server.ovpn) sed '/Initialization Sequence Completed$/q' <&3 ; cat <&3 & ssh server
I run this script as sh ssh-vpn.sh in the fish shell.
As a script, this gives me a syntax error
line 2: syntax error near unexpected token '<'. outside of the script, I do not get this error.
Also, not using these command as a script, I occasionally seemed to have gotten error messages because the file descriptor 3 was already existing.
How to avoid the syntax error in the script?
How to extend the script so that it automatically closes the openvpn connection afterwards?
How to ensure the file descriptor gets closed at end of script?
I apologise if this is too much for one question - I guess this is one of my first scripting questions for a long time and I still have to learn much here.