# \[résolu\] Script pour network-manager

**URL:** <https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550>\
**Category:** Programmation\
**Created:** [Novembre 1, 2016, 8:17 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550 "2016-11-01T08:17:46Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![irma\_debian-fr](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/i/cc9497/32.png) [@irma\_debian-fr](https://www.debian-fr.org/u/irma_debian-fr)\
**Post date:** [Novembre 1, 2016, 8:17 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550/1 "2016-11-01T08:17:47Z")

</div>

bonjour,

j’essaie d’écrire un script mais je n’y parviens pas.  
quand je clique sur l’icône du “network-manager” j’obtiens la liste des connectés dans le réseau wifi.  
pour info : ‘Livebox-f0b1’ c’est ma box

si dans le terminal j’entre : `nmcli dev wifi`

j’obtiens :

```
SSID BSSID MODE FRÉQ DÉBIT SIGNAL SÉCURITÉ ACTIF   
'Livebox-f0b1' 5C:33:8E:E3:39:24 Infrastructure 2437 MHz 54 Mo/s 29 WPA WPA2 non     
'HP-Print-BB-ENVY 5530 series' A4:5D:36:20:A1:BB Infrastructure 2437 MHz 54 Mo/s 20 WPA2 non
'freebox_RCZSOO' 8A:8B:C5:D4:A6:78 Infrastructure 2462 MHz 54 Mo/s 22 WPA non 

```

avec `grep, sed` je n’arrive pas à obtenir ce que je voudrais.  
à savoir, écrire dans un fichier texte toutes les connexions n’étant pas ma box

merci à vous si vous pouvez m’aider

le script :

```
#!/bin/bash

# ici je rentre mon chemin de sauvegarde
cd /home/monchemin

# je fais une boucle pour enregistrer le nombre et la fréquence des résultats que je veux

while true
do
DATE=`date +"%d%m%y %H:%M:%S"` # je garde la date
SSID=`nmcli dev wifi` # qui est dans le réseau wifi ?

# c'est ici que je ne sais pas faire
# si SSID ne contient pas la chaîne 'Livebox-f0b1' (qui est ma box)
# alors écrire dans un fichier texte : la date
echo "$DATE" >> ssid.txt

# et écrire la(les) ligne(s) correspondante(s) différente(nt) de 'Livebox-f0b1'
# ligne(s) contenant les infos comme plus haut
# echo ....xxxxx >> ssid.txt
# s'il n'y a personne d'autre que 'Livebox-f0b1' ou rien, alors on écrit rien dans le fichier

sleep 2
done
```

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Novembre 1, 2016, 9:18 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550/2 "2016-11-01T09:18:45Z")

</div>

Salut

Tu changes de crèmerie?  
[https://forum.ubuntu-fr.org/viewtopic.php?pid=21615154#p21615154](https://forum.ubuntu-fr.org/viewtopic.php?pid=21615154#p21615154)

Mais tu fais une erreur d’interpretation  
_quand je clique sur l’icône du “network-manager” j’obtiens la liste des connectés dans le réseau wifi._

Le wifi c’est des ondes radios, dans une gamme de fréquences qui est la même pour tout le monde definie par la norme 802.11

[http://www.nolot.eu/Download/Cours/reseaux/m1info/ProtoAv-Cours7-Wifi.pdf](http://www.nolot.eu/Download/Cours/reseaux/m1info/ProtoAv-Cours7-Wifi.pdf)

ce que tu vois ce sont les émetteurs à proximité de chez toi. Les box des voisins pour parler simplement. ce qu’indique aussi la commande nmcli dev wifi  
La commande donne un résultat sous forme de tableau que tu peux rediriger dans un fichier texte

`nmcli dev wifi > resul.nmcli.txt`

Si tu veux faire des grep tu peux utiliser la commande ( ici mon wlan s’appelle wlan0)

`sudo iwlist wlan0 scan | grep -E "ESSID"`

ça ne veut pas dire qu’il y a connexion…  
Pour se connecter il faut connaître la clé d’authentification

---

<div class="post-metadata">

**Author:** ![irma\_debian-fr](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/i/cc9497/32.png) [@irma\_debian-fr](https://www.debian-fr.org/u/irma_debian-fr)\
**Post date:** [Novembre 1, 2016, 10:37 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550/3 "2016-11-01T10:37:30Z")

</div>

"Tu changes de crèmerie?"  
oui - je ne voulais pas déranger et essayais d’avoir d’autres pistes, idées  
merci pour tes liens, mais çà dépasse mes compétences  
je comprends dans le global tout de même

mon mini-bout de script à l’heure actuelle écrit toutes les lignes  
je voulais juste faire un distingo pour enregistre uniquement ce qui m’intéresse

grep-sed … incompréhensible pour moi - et j’ai essayé  
mes veilles connaissances remontent au basic (j’ai 57 ans), et c’était possible facilement d’extraire du texte pour faire un test  
je suis déjà passé de $win à linux et c’était un boum

mais c’est peut-être trop compliqué ce que je demande

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Novembre 1, 2016, 11:35 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550/4 "2016-11-01T11:35:42Z")

</div>

Bonjour **irma\_debian-fr**

Je me suis permis d’apporter quelques modifications dans ton message concernant l’apparence du texte affiché.

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Novembre 1, 2016, 11:56 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550/5 "2016-11-01T11:56:00Z")

</div>

ce qu’il faut bien comprendre c’est que les ondes (fréquences) radio sont là, autour de toi.  
Ce n’est pas parce que ton récepteur ( ton pc ) détecte ce qui est dans l’environnement ( les émetteurs) que tu es connecté dessus.  
C’est comme pour la radio grandes ondes ou FM, les ondes sont là autour de toi mais ton poste de radio ne joue que celle où tu es connectée, celle que tu as réglée sur l’afficheur de la radio.  
Inversement, ce n’est pas parce que tes voisins détectent ta box qu’ils sont connectés dessus. Pour qu’ils se connectent il faut qu’ils aient connaissance de la clé d’authentification, d’où l’interêt que cette clé soit longue et compliquée et de ne pas la divulguer.

---

<div class="post-metadata">

**Author:** ![irma\_debian-fr](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/i/cc9497/32.png) [@irma\_debian-fr](https://www.debian-fr.org/u/irma_debian-fr)\
**Post date:** [Novembre 1, 2016, 6:14 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550/6 "2016-11-01T18:14:55Z")

</div>

j’ai bien compris tout ce que tu dis là et ma clé est longue et compliquée sur ma box  
j’ai bien compris que ceux que je vois n’ont pas accès à mon réseau  
tes explication sont bonnes

je cherche juste à savoir comment je peux enregistrer uniquement la ligne qui m’intéresse  
c’est juste la façon d’écrire les commandes que je ne sais pas  
çà pourrait très bien s’appliquer à autre chose une autre fois

çà me permet d’apprendre aussi

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Novembre 1, 2016, 6:49 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550/7 "2016-11-01T18:49:32Z")

</div>

Quelques pistes:  
_\>\>_ indique une redirection du résultat ajouté dans un fichier

Avant de faire un script tu peux tester les lignes dans le terminal

```
DATE=`date +"%d%m%y %H:%M:%S"`
echo $DATE

```

affiche le contenu de la variable DATE

```
DATE=`date +"%d%m%y %H:%M:%S"`
echo $DATE >> resul.nmcli.txt

```

ajoute le contenu de la variable DATE au fichier

```
DATE=`date +"%d%m%y %H:%M:%S"`
echo $DATE >> resul.nmcli.txt
nmcli dev wifi >> resul.nmcli.txt

```

ajoute successivement le contenu de la variable DATE et le résultat de la commande nmcli dans le fichier resul.nmcli.txt

Dans nmcli \* représente la connexion en cours, si tu veux l’exclure

```
nmcli dev wifi | grep -v '*'

```

un bon tuto sur grep  
[http://www.tuteurs.ens.fr/unix/exercices/solutions/grep-sol.html](http://www.tuteurs.ens.fr/unix/exercices/solutions/grep-sol.html)

---

<div class="post-metadata">

**Author:** ![irma\_debian-fr](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/i/cc9497/32.png) [@irma\_debian-fr](https://www.debian-fr.org/u/irma_debian-fr)\
**Post date:** [Novembre 4, 2016, 3:52 UTC](https://www.debian-fr.org/t/resolu-script-pour-network-manager/71550/8 "2016-11-04T15:52:53Z")

</div>

çà me convient très bien  
merci pour l’aide et les liens  
je passe en résolu
