@Postadelmagaによる以前の回答に柔軟性を追加して、削除されるSSIDの名前を出力するためにさらに努力しました。これにより困難が追加されました。「never」という単語を含むSSID名が「never」を含むタイムスタンプと誤って一致する可能性を回避する必要があります。
接続を名前で削除する別の関数も作成しました。
ソース:https :
//github.com/frgomes/debian-bin/blob/master/bash_20nm.sh
#!/bin/bash
function nmcli_list {
nmcli --pretty --fields NAME,UUID,TIMESTAMP-REAL con show
}
function nmcli_remove {
if [ ! -z "$1" ] ;then
nmcli --fields NAME con show | \
grep "$@" | \
while read name ;do
echo Removing SSID "$name"
nmcli con delete "$name"
done
fi
}
##################################################################################
# The intent here is avoid that a connection named "never drive after you drink" #
# matches a timestamp "never". So, we have to make sure that we match colon #
# followed by "never" followed by spaces and/or tabs and finally an end of line. #
# #
# WARNING: However, I didn't get a chance to test this scenario. #
# So, I provide this code the way it is, in the hope that I've covered #
# well the behavior from some other simulations I did. #
##################################################################################
function nmcli_remove_never_used {
nmcli --terse --fields NAME,TIMESTAMP-REAL con show | \
egrep -e ':never[ \t]*$' | \
sed -r 's/:never[ \t]*$//' | \
while read name ;do
echo Removing SSID "$name"
nmcli con delete "$name"
done
}
次に、以下に示すように特定の接続を削除できます。
$ nmcli_remove ScalaX
$ nmcli_remove "My WiFi @ Home"
$ nmcli_remove "never drive after you drink"