Version complète: sur le forum Webmaster Hub : script pour décomprésser un fichier.
Webmaster Hub > Informatique & Internet > PC-Gyver > Linux, freebsd
adiloos98
bonjour

j'ai essayé d'executer une commande qui me permettra de choisir le dérnier backup pour chaque répertoire afin de le décomprésser, la commande est:

tar xf 'ls -tr config-* | tail -1 '

en faite la commande ça marche,mais une fois je la fais intérger dans un script ça marche plus???

le script est :

#!/bin/bash
#decomp.sh
path="/home/adil/10.81.*/
tar xf 'ls -tr config-* | tail -1 '


je porte à votre connaissance que les répertoire existent dans /home/adil/10.81...

c a d 10.81.0.2 et 10.81.0.9 et 10.81.06 ..................
est ce que j'ai un probléme au niveu du chemin???
merci pour vos aides.



Kioob
Hello,

tu fais ton ls et ton tar à partir du dossier courant, donc la commande dépendra du dossier depuis lequel elle est lancée ; est-ce bien ce que tu cherches à faire ?

Si ce n'est pas le cas, essaye de remplacer ton path=XXX par un simple cd XXX.
adiloos98
merci beaucoup ça marche trés trés bien avec la commande (cd).
merci encore une fois smartass.gif
adiloos98
mais nonnn shutup.gif
en faite j'ai fais :

#!/bin/bash
#decomp.sh
cd /home/adil/10.81.*
tar xf 'ls -tr config-* | tail -1'

ça marche mais just sur le 1ere répertoire c a d (10.81.0.1)
pour les répertoire qui restent ça marche plus

stp c'est quoi le blem ????
désoler pour le dérangement.
steph29
et un truc du genre?
CODE
#!/bin/bash
#decomp.sh
cd  /home/adil/
for i in `ls /home/adil/10.81.*`
do
     tar xf 'ls -tr $i/config-* | tail -1'
done
adiloos98
j'ai essayé d'exécuter le petit script ,mais ça marche pas , il m'affiche

tar: ls -tr $i/config-* | tail -1 : ne peut open : aucun fichier ou répertoire de ce type...........

je pense qu'il y'a toujours un blem au niveau du chemin???
steph29
oui le $i n'est pas interpreté....

essaie avec les `au lieu des '
adiloos98
ça marche pas encore nonono.gif

j'en sais pas comment je ferai pour résoudre ce blem shutup.gif
steph29
CODE
#!/bin/bash
#decomp.sh
cd  /home/adil/
for i in `ls /home/adil/10.81.*`
do
     cd /home/adil/$i
     tar xf `ls -tr config-* | tail -1`
done
adiloos98
méme probléme nonono.gif
adiloos98
merci beaucoup je te dérange mon ami shutup.gif
steph29
pour info on est pas devant ton ecran, donc quand on me dis meme probleme... j'ai pas franchement envie d'aider...
la moindre des choses est de copier les messages d'erreur retournés...*

sinon ne reste pas les bras croises et fait des tests..
echo est ton ami pour voir ce que ca te retourne... prend le pb en plusieurs etapes etc..
Dan
Tu aurais pû poster cette demande à la suite de ton premier sujet plutôt que d'en ouvrir un autre. q_smallexcla.gif

Ensuite, ce code devrait fonctionner:

CODE
#!/bin/bash
cd  /home/adil/
for i in  /home/adil/10.81.*
do
     cd $i
     tar xf `ls -tr config-* | tail -1`
done


Je te suggère d'acheter un bouquin sur le shell linux ... cela te permettra au moins de progresser seul.
Ou au moins lancer une fois la commande "man sh" .... et lire ce que cela permet. tongue.gif

Dan
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.