Bonjour à tous,
Je suis tout nouveau sur le forum, et m'inscris dans le but de progresser dans les commandes bash que j'apprends depuis peu
Après plusieurs cours lu sur Internet et multiples essais, je me suis décidé à faire mon premier "vrai" script.
Il consiste tout simplement à paramétrer le txpower de ma carte wifi (2 cartes, une PCI, une USB, la dîte interessé étant la usb (wlan1))
J'ai plus ou moins réussi à écrire mon script.
Mes deux soucis sont :
- Mes commandes conditionnelles fonctionnent lorsque je réponds "Yes" ou "Y" mais me renvoi une erreur lorsque je saisie non ("n" ou "no"). J'ai problablement fait une (plusieurs?) grossière erreur mais en parcourant plusieurs tutos, je ne parviens pas à trouver où ?
- Mon deuxième soucis est, lui, plus ambitieux et plus compliqué (et moins prioritaire que le premier), j'aimerais que mon script renvoi un choix pour selectionner mon périphériques wifi après les avoirs detéctés ? (wlan0 ou wlan1, choix 1 ou 2)
Merci pour ceux qui pourrait me filer un coup de main, un indice, ou une solution![]()
Ci-dessous mon script (et mes retours d'erreur) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 #!/bin/bash # Wifi TXPOWER fixing #Colors white="\033[1;37m" grey="\033[0;37m" purple="\033[0;35m" red="\033[1;31m" green="\033[1;32m" yellow="\033[1;33m" Purple="\033[0;35m" Cyan="\033[0;36m" Cafe="\033[0;33m" Fiuscha="\033[0;35m" blue="\033[1;34m" transparent="\e[0m" bold="\033[1;1m" clear my_message="Hello $USER" echo -e $yellow$my_message sleep 0.5s echo -e $blue"Today is"$red;date sleep 0.5s ifconfig wlan1 down echo -e $yellow"Turning down wlan..."$transparent sleep 1s iw reg set GY echo -e $red"Wifi Region : GY"$transparent sleep 1s iw reg get sleep 1s echo -n "Country has well been set to GY ? Y/N :" read yesno if [ $yesno = "y" ] ||*[ $yesno = "Y" ] then echo $Yellow"Next step ..." elif [ $yesno = "n"*] || [ $yesno = "N" ] then echo $blue"OOPS ..." else echo ''Please type Y or N ... not &yesno '' fi iwconfig wlan1 txpower 30 echo -e $red"Setting txpower 30 ..."$transparent sleep 1s ifconfig wlan1 up echo -e $yellow"Wifi back up ..."$transparent sleep 1s echo -e $yellow"Checking iwconfig now ..."$transparent sleep 1s iwconfig echo -n "Did all went fine ? Y/N : " read yesno if [ "$yesno" = "y" ] ||*[ "$yesno" = "Y" ] ; then echo "Ok, quitting now ..." elif [ "$yesno" = "n" ] ||*[ "$yesno" = "N" ] ; then echo "Thanks you to verify that wlan1 device is connected and try again" sleep 1s echo "Quitting now..." else echo '' Please, type Y or N, not $yesno '' fi sleep 1s
L'erreur retournée au premier "no" :
Au deuxième :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Country has well been set to GY ? Y/N :n ./wifi-pwr.sh: ligne 36: *[ : commande introuvable ./wifi-pwr.sh: ligne 41 : [: « ] » manquant Please type Y or N ... not ./wifi-pwr.sh: ligne 47: yesno : commande introuvable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Did all went fine ? Y/N : n ./wifi-pwr.sh: ligne 70: *[ : commande introuvable Thanks you to verify that wlan1 device is connected and try again Quitting now...
Partager