On Tue, 30 Jan 2007 13:55:34 +0100
"zelos 414" <[EMAIL PROTECTED]> wrote:
> J'ai pas très bie n compris cette ligne:
>
> set -- $(df -k /home/jipe/video); eval dispo=\${$(($#-2))}; echo $dispo
> 828476
>
en gros je te proposais de déterminer la place disponible dans ta partition.
/home/jipe/video est une partition de mon PC. la commande df -k /home/jipe/video
va me donner le résultat suivant:
[EMAIL PROTECTED] ~]$ df -k /home/jipe/video
Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur
/dev/hdb1 118169876 117341400 828476 100% /home/jipe/video
set -- $(commande) découpe le résultat de "commande" en paramètres positionnels
selon les délimiteurs définis par la variable IFS, soient en général l'espace,
le saut de ligne et la tabulation si on n'a pas redéfini cette variable. le
paramètre qui m'intéresse est l'antépénultième. $# représente le nombre de
paramètres, $#-2 est donc celui que je veux. la variable dispo est donc égale
à ${$(($#-2))}. il s'agit là d'une évaluation indirecte, ou il faut d'abord
développer ${$(($#-2))}, puis dispo=${le_bon_nombre}.
[EMAIL PROTECTED] ~]$ echo dispo=\${$(($#-2))}
dispo=${13}
en remplaçant echo par eval, j'exécute dispo=${13} et j'assigne la valeur de
${13}
à $dispo. j'aurais bien sur pu taper ceci directement, mais comme la 1ère ligne
peut
varier en fonction des locales, je préfère assurer :)
echo $dispo, c'est juste pour montrer que c'est le bon paramètre qui est
extrait.
pas nécessaire pour un script.
bye
jipe
____________________________________________________
Want to buy your Pack or Services from Mandriva?
Go to http://store.mandriva.com
Join the Club : http://www.mandrivaclub.com
____________________________________________________