我已经订阅了 VPN 服务,现在我有一些.ovpn
文件,每个服务器一个。我想做的是创建一个 shell 脚本,在其中我可以选择要加载的文件,并启动该连接。这是我的脚本:
#!/bin/bash
TITLE="Start a VPN Connection"
FOLDER=$HOME"/ovpn/"
CHOICE=$(zenity --file-selection --title="Select your desired VPN config" --filename="$FOLDER" --file-filter="*.ovpn")
VPNFILE=$(basename "$CHOICE")
clear
sudo openvpn --cd "$FOLDER" --config "'$VPNFILE'" --verb 1 --auth-user-pass "auth.txt" --auth-nocache
现在的问题是,当我启动此脚本时,我可以选择一个 .ovpn 文件,但脚本因以下错误而崩溃:
Options error: In [CMD-LINE]:1: Error opening configuration file: 'Server-1.ovpn'
如果我使用 echo 而不是 sudo 编辑脚本中的最后一行,我将获得一个连接字符串。如果我复制并粘贴该行并手动运行生成的命令,连接将启动并运行良好。
尝试从 shell 脚本打开 openvpn 连接是否有问题?
答案1
删除单引号"'$VPNFILE'"
,否则它们将被视为配置文件的文件名的一部分。