Я пытаюсь написать скрипт, который вызывает другой.Затем следует ввести имя пользователя и пароль.К сожалению, spawn не вызывает мой файл скрипта.
Я создал оба сценария, а затем создал их с помощью chmod +x filename.sh
, сделав его исполняемым.
vpn.sh
#! /usr/bin/expect
spawn ./startvpn.sh
#expect "[sudo] Passwort für niclas:"
#send "**********"
#expect "Enter Auth Username:"
#send '*************'
#expect "Enter Auth Password:"
#send "******"
startvpn.sh
#! /bin/bash
sudo openvpn /etc/openvpn/ovpn_udp/se250.nordvpn.com.udp.ovpn
План:
Я запускаю ./vpn на терминале, который затем запускает startvpn.Это устанавливает соединение с Openvpn.
Затем vpn.sh должен ввести пароль Sudo, а затем мое имя пользователя и пароль для NordVpn.
Как ни странно, startvpn никогда не запускается.
Я не получаю сообщение об ошибке.
Обновление:
Я обновил свой скрипт.Теперь он работает, за исключением того, что он не вводит пароль.
обновленная версия vpn.sh
#!/usr/bin/expect -f
spawn sudo openvpn /etc/openvpn/ovpn_udp/se250.nordvpn.com.udp.ovpn
expect "Passwort für niclas:"
send "******\r"
expect "Username:"
send "**************\r"
expect "Password:"
send "****\r"
Вывод на консоль:
niclas@niclas-Inspiron-7347:~$ expect vpn.sh
spawn sudo openvpn /etc/openvpn/ovpn_udp/se250.nordvpn.com.udp.ovpn
[sudo] Passwort für niclas:
Fri Jun 28 21:03:03 2019 OpenVPN 2.4.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on May 14 2019
Fri Jun 28 21:03:03 2019 library versions: OpenSSL 1.1.1 11 Sep 2018, LZO 2.08
Enter Auth Username: niclas.buerger@web.de
Enter Auth Password: niclas@niclas-Inspiron-7347:~$
Если я наберу пароль обычно, он будет заполнен ******.Так что я действительно не знаю, почему это не работает.Команда такая же, как и с именем пользователя.