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" :

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
Au deuxième :

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...