Faire une liste des disque dur connecter
T_T"
-
T_T" -
T_T" -
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"
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:
- Faire une liste des disque dur connecter
- Cloner disque dur - Guide
- Defragmenter disque dur - Guide
- Se connecter à gmail sur téléphone - Guide
- Liste déroulante excel - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
2 réponses
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 ;-))
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 ;-))
Est-ce assez clair ???