Adicionando mais flexibilidade à resposta anterior por @Postadelmaga, passei um pouco mais de esforço imprimindo o nome do SSID sendo removido. Isso adicionou uma dificuldade: agora temos que evitar a possibilidade de um nome SSID contendo a palavra "nunca" coincidir acidentalmente com o timestamp contendo "never".
Eu também criei outra função que remove uma conexão pelo nome.
Fontes em:
link
#!/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
}
Depois, você pode excluir uma conexão específica, conforme mostrado abaixo:
$ nmcli_remove ScalaX
$ nmcli_remove "My WiFi @ Home"
$ nmcli_remove "never drive after you drink"