从终端列出已保存的网络

从终端列出已保存的网络

我开始学习终端命令,有一个问题。

如何从终端查看已保存的网络列表?

如果我去:

/etc/NetworkManager/system-connections

我可以看到列出的已保存的网络,但我想在 shell 脚本中使用它 - 我需要将这些网络列为字符串(或每个网络的另一个唯一属性)。

所以我想知道:

还有其他命令可以从终端列出所有已保存的网络吗?如果没有,我该如何在 Shell 脚本中存储每个网络的唯一属性?

答案1

您可以将保存的所有网络存储在一个数组中。以下是示例:

#!/bin/bash

declare -a networks #the array where we will store all saved networks
n=0
for network in /etc/NetworkManager/system-connections/*; do
    networks[$n]="$(basename "$network")"
    (( n++ ))
done

#list all networks in a line
echo ${networks[*]}

#list networks one by one
for (( i=0; i<${#networks[@]}; i++ )) {
    echo ${networks[$i]}
}

unset networks

相关内容