nmcli 无法在 bash 脚本上运行(但在其他地方可以运行)

nmcli 无法在 bash 脚本上运行(但在其他地方可以运行)

我在尝试自动连接 VPN 时遇到了一个棘手的问题。每次我想连接时都必须输入密码,但我已经设法请求并解析了密码。现在的问题是,当我执行 nmcli 连接到 VPN 时,它给了我这个错误

Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/11
state: VPN connecting (need authentication) (2)
state: VPN connecting (3)
state: VPN connecting (getting IP configuration) (4)
Error: Connection activation failed: unknown reason.

但是,如果我从终端将其作为命令执行,它就可以正常工作。这真的让我抓狂,因为我不知道它可能是什么。以下是脚本的源代码:

# [...] fetch $password
sed -i 's/^password=.*$/password=$password/g' $VPNFILE
sudo grep password $VPNFILE  # $password is actually modified on the file
sudo nmcli con up id $VPN

$VPNFILE 是 /etc/NetworkManager/system-connections 关联文件。我在 Google 上搜索到的错误线程有类似的问题,其中错误是密码错误,但这不是这里的问题,因为 grep 给出了预期的输出。

对于这个问题背后的逻辑和/或如何解决它,您有什么想法吗?

感谢您的时间。

相关内容