Bonjour,

J'ai testé et corrigé quelque bug sur mon script ce matin. Je viens vous le présenter afin d'avoir des critiques pour améliorer ma manière d'écrire des scripts shell.

J'ai écris un petit scripte pour mettre en place les paramétre de configuration de mon Bus Pirate (carte électronique,voir ici)

Voici le code:
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
#!/bin/bash
 
echo "Bienvenu dans l'installation du programme buspirate"
 
if [ $EUID -ne 0 ] ; then
	echo "Il vous faut les droits administrateurs!"
	exit
fi
 
if [ -x screen ] ; then
	echo "Screen n'est pas installé dans votre système. Voulez-vous l'installer? [y/n]"
	read TEST
	if [ $TEST  == y ] ; then
		apt-get install screen
	else
		exit
	fi
fi
 
if [ -f /usr/bin/buspirate ] ; then
	echo "Le programme /usr/bin/buspirate est déjà installé. Voulez-vous le supprimer et le réinstaller? [y/n]"
	read TEST
	if [ $TEST == y ] ; then
		rm -fr /usr/bin/buspirate
		echo "Le programme est supprimé"
	else
		exit
	fi
fi
 
if [ -f /etc/udev/rules.d/98-buspirate.rules ] ; then
	echo "Le fichier /etc/udev/rules.d/98-buspirate.rules est déjà présent. Voulez-vous le supprimer? [y/n]"
	read TEST
	if [ $TEST == y ] ; then
		rm -fr /etc/udev/rules.d/98-buspirate.rules
		echo "Le fichier est supprimé"
	else
		exit
	fi
fi
 
echo "Brancher maintenant votre Bus Pirate. Si vous l'avez déjà fait, débrancher le puis rebrancher le et taper une touche!"
read
 
serialNumber=$(dmesg | tail -n15 | grep SerialNumber: | awk ' { print $NF }')
 
idVendor=$(dmesg | tail -n15 | grep idVendor | awk -F, ' { print $2 }' | awk -F= ' { print $2 }' )
 
idProduct=$(dmesg | tail -n15 | grep idProduct | awk -F= ' { print $NF }' )
 
echo 'SUBSYSTEM=="tty" ATTRS{idVendor}=="'$idVendor'" ATTRS{idProduct}=="'$idProduct'" ATTRS{serial}=="'$serialNumber'" GROUP="users" MODE="0660" SYMLINK+="buspirate"' > /etc/udev/rules.d/98-buspirate.rules
 
echo "Enregistrement udev créer"
 
cat > /usr/bin/buspirate << EOF
#!/bin/bash
sudo screen /dev/buspirate 115200 8N1
EOF
 
chmod +x /usr/bin/buspirate
 
echo "Scripte de démarrage crée"
echo "Pour utiliser votre programme, vous devez debranché et rebrancher votre Bus Pirate"
Merci pour vos critiques
Salutation