使用 nmcli 添加连接后获取连接的 uuid

Sep*_*rix 1 networking openvpn networkmanager nmcli

我想将 VPN 连接添加到多台计算机,并让它们在使用默认以太网连接时自动激活。但是我需要刚刚添加的 VPN 连接的 UUID 来配置自动连接。

\n

到目前为止,我使用的是导入 VPN 连接:

\n
$ sudo nmcli connection import type openvpn file some_dynamic_name.ovpn\nVerbindung \xc2\xbbsome_dynamic_name\xc2\xab (0724d07e-4a31-488d-91e8-fd6031679dd6) erfolgreich hinzugef\xc3\xbcgt.\n
Run Code Online (Sandbox Code Playgroud)\n

哪里some_dynamic_name应该是connection.id且 uuid 对应于connection.uuid. 有了这个 UUID,我现在可以使用以下命令将我的目标连接配置为自动使用 VPN:

\n
$ nmcli connection modify "Kabelgebundene Verbindung 1" connection.secondaries 0724d07e-4a31-488d-91e8-fd6031679dd6\n
Run Code Online (Sandbox Code Playgroud)\n

理论上,我可以解析输出并将其传递给第二个命令,尽管我不知道输出是否可以被认为是稳定的,我想将其添加到脚本中以进行无人值守设置。我可以以某种方式指定响应的输出格式吗?我知道我可以传递--get-values connection.uuid给 import 命令(直接在 后面nmcli),尽管这不会改变任何东西

\n

Mic*_*ton 5

由于您知道连接的名称,因此可以在创建连接后使用-g/获取其 UUID。--get-values

# nmcli --get-values connection.uuid c show "some_dynamic_name"
0724d07e-4a31-488d-91e8-fd6031679dd6
Run Code Online (Sandbox Code Playgroud)

您可以通过 shell 替换一次性完成此操作,如下所示:

# nmcli c mod "Kabelgebundene Verbindung 1" connection.secondaries $(nmcli -g connection.uuid c show "some_dynamic_name")
Run Code Online (Sandbox Code Playgroud)