我正在尝试编写一个 bash 脚本来配置多个网络接口,但在某些 NIC 获取有线连接名称而不是设备名称时遇到问题。例如
$ nmcli dev status
DEVICE TYPE STATE CONNECTION
ens22 ethernet connected ens22
ens18 ethernet connected Wired connection 2
ens19 ethernet connected ens19
ens20 ethernet connected Wired connection 1
ens21 ethernet connected ens21
lo loopback unmanaged --
Run Code Online (Sandbox Code Playgroud)
其影响是这些命令失败,因为它需要连接名称,而不是设备名称:
printf "\n${YELLOW}### Configure ens20: ###${NC}\n"
sudo nmcli con mod ens20 ipv4.addresses 10.70.20.254/24
sudo nmcli con mod ens20 ipv4.dns 8.8.8.8
sudo nmcli con mod ens20 ipv4.method manual
Run Code Online (Sandbox Code Playgroud)
问题:
这有效:
sudo nmcli connection modify "Wired connection …
Run Code Online (Sandbox Code Playgroud)