Faire une liste des disque dur connecter

Fermé
T_T" - 18 mai 2009 à 10:54
 T_T" - 18 mai 2009 à 15:07
Bonjour,

dans le cadre d'un projet je dois lister tout les disque dur connecter sur ma machine via un script shell sous la forme sda,sdb,sdc,... et afficher ensuite cette liste dans une buildlist box (Xdialog) pour que l'utilisateur choisisse lequel il veut.... concrètement j'ai déjà un code fonctionnel mais mon chef de projet m'annonce qu'il y a un meilleur moyen de faire.... voici mon code actuel:

cpt=0
numImg=1
tab=0

rm buildlist.txt

nbr=`ls /dev/ | grep -c -w 'sda\|sdb\|sdc\|sdd\|sde\|sdf\|sdg\|sdh\|sdi\|sdj\|sdk\|sdl\|sdm\|sdn\|sdo\|sdp\|sdq\|sdr\|sds\|sdt\|sdu\|sdv\|sdw\|sdx\|sdy\|sdz'`

for i in `ls /dev/ | grep -w 'sda\|sdb\|sdc\|sdd\|sde\|sdf\|sdg\|sdh\|sdi\|sdj\|sdk\|sdl\|sdm\|sdn\|sdo\|sdp\|sdq\|sdr\|sds\|sdt\|sdu\|sdv\|sdw\|sdx\|sdy\|sdz'`

do
files[$cpt]=`echo $i`
echo $numImg >> buildlist.txt
echo ${files[$cpt]} >> buildlist.txt
echo "off" >> buildlist.txt
tableau[$tab]=$numImg
tab=$(($tab+1))

tableau[$tab]=${files[$cpt]}
tab=$(($tab+1))

tableau[$tab]="off"
tab=$(($tab+1))

cpt=$(($cpt+1))
numImg=$(($numImg+1))
done

liste=`cat buildlist.txt`

# Ouverture d'un terminal
gnome-terminal --geometry=48x48+2+30 &

# Création de l'interface de sélection des disques (3)
disqueschoisis=$($dial --title "$title" --backtitle "Il y a $nbr disques connectés" \
--separator "\n" \
--buildlist "Vérifiez les disques choisis avec \n
la commande #cfdisk ou #sfdisk -s \n dans le terminal ci-contre \n \n
Choisissez vos disques" 0 0 8 \
$liste)

case $? in
0)
confirmation;;
1)
echo "Fin du programme"
exit;;
255)
echo "Fermeture de la fenêtre"
exit;;
esac

voila perso je sèche.... alr si vous pouviez m'aider sa serait sympa

T_T"
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
18 mai 2009 à 14:38
Salut,

Qu'est-ce que tu entends par "disques durs connectés" ? Montage réseau (NFS, Samba ?) Partage Samba ? Physiquement sur le machine ?

Ensuite pour ton :

grep -w 'sda\|sdb\|sdc\|sdd\|sde\|sdf\|sdg\|sdh\|sdi\|sdj\|sdk\|sdl\­|sdm\|sdn\|sdo\|sdp\|sdq\|sdr\|sds\|sdt\|sdu\|sdv\|sdw\|sdx\­|sdy\|sdz'


grep -w 'sd[a-z]' serait plus simple ;-))
0
en fait c'est un script qui doit formater des disques dur USB externe connecter au PC...

Est-ce assez clair ???
0
Quand au gnome terminal il est la car c'est une demande du client il n'affecte en rien la demande que je vous est fournie... l'expliquation etait que le client veut pouvoir faire un fdisk via un terminal avant de choisir quels disques serait formater.... pour ceux qui n'aurait pas compris

T_T"
0