J'ai un petit soucis avec la commande wait en bash, j'ai déjà lu ce que j'ai trouvé sur ce forum et sur internet, et après de multiples tentatives je m'en remets à vous. Voici un bref résumé de la chose.
Je réalise actuellement un script pour transformer un disque dur USB en disque dur liveUSB avec persistence.
Les étapes du script dans les grandes lignes :
- Détecter les disques connectés
- Choisir le ou les disques à tranformer
- Formatage des disques suivant une tables des partitions prédéfinie (7 partitions)
- Montage d'une partition comme mémoire tampon
- Si c'est le premier disque de la liste (ou le seul) : rapatriement des fichiers importants qui sont stockés sur un serveur vers la zone tampon puis décompression des fichiers
- Sinon décompression des fichiers directement depuis la zone tampon
Vu la longueur et la complexité du script je ne vais pas tout poster, voici donc juste la partie embêtante :
getFile "tables.txt" "/home/emfdisk/Documents" "0" & pid=$!
wait $pid
cat /home/emfdisk/Documents/tables.txt | sfdisk --no-reread -H255 /dev/$2 & pid=$!
wait $pid
gnome-terminal -t "Formatage de /dev/$2""1" -e "mkfs.vfat -F 32 -n boot /dev/$2""1" & pid=$!
wait $pid
gnome-terminal -t "Formatage de /dev/$2""2" -e "mkfs.ext3 -b 4096 -L casper-rw /dev/$2""2" & pid=$!
wait $pid
gnome-terminal -t "Formatage de /dev/$2""3" -e "mkswap -v1 /dev/$2""3" & pid=$!
wait $pid
swapon /dev/$2"3" & pid=$!
wait $pid
gnome-terminal -t "Formatage de /dev/$2""5" -e "mkfs.ext3 -b 4096 -L vmware /dev/$2""5" & pid=$!
wait $pid
gnome-terminal -t "Formatage de /dev/$2""6" -e "mkfs.ext3 -b 4096 -L vmware_archives /dev/$2""6" & pid=$!
wait $pid
gnome-terminal -t "Formatage de /dev/$2""7" -e "mkfs.vfat -F 32 -n eleve /dev/$2""7" & pid=$!
wait $pid
install-mbr /dev/$2 & pid=$!
wait $pid
(Je sais c'est moche)
En théorie si j'ai bien lu mon man, chaque formatage devrait attendre la fin du précédent avant de se lancer, or ils se lancent tous en même temps =/ Donc un swapon sur une swap pas formatée et ainsi de suite c'est pas très beau au final.
Pouvez-vous éclairer ma lanterne ? =)
Merci d'avance !
