Script shell arborescence
vin0
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Vin0 -
Vin0 -
Bonjour,
Je suis totalement débutant dans l'utilisation de shell et je cherche à réaliser un script en shell sh.
Sans utiliser la commande "find" ce script doit prendre en paramètre une commande et l’exécuter
dans toutes les parties de l’arborescence, quelle que soit leur profondeur.
Si quelqu'un a une idée.
Merci,
Vin0
Je suis totalement débutant dans l'utilisation de shell et je cherche à réaliser un script en shell sh.
Sans utiliser la commande "find" ce script doit prendre en paramètre une commande et l’exécuter
dans toutes les parties de l’arborescence, quelle que soit leur profondeur.
Si quelqu'un a une idée.
Merci,
Vin0
A voir également:
- Script shell arborescence
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Arborescence word - Guide
5 réponses
Salut,
ça devrait pouvoir ressembler à ça :
ça devrait pouvoir ressembler à ça :
#!/bin/bash if -n "$1"; then echo "Usage : " $0 " command"; echo "Exécute command dans tous les sous-répertoires du dossier courant."; else for i in ./* do if [ -d "$i" ] then $1 $i; fi done fi
hello
on peut utiliser du pour obtenir l'arborescence
on peut utiliser du pour obtenir l'arborescence
#!/bin/bash test -z "$1" && { echo usage: $0 commande ; exit 1 ; } HERE=$PWD du | ( while read T D ; do cd "$D" $1 cd $HERE done)
Merci beaucoup pour ces deux réponses!
Ces scripts sont en bash, seraient-ils différents en sh?
Pourriez vous également les commenter svp?
Merci,
Vin0
Ces scripts sont en bash, seraient-ils différents en sh?
Pourriez vous également les commenter svp?
Merci,
Vin0
Ça ressemble fort à une question de cours, non ?
Je te laisse te documenter par toi même.... ;-)
Je te laisse te documenter par toi même.... ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
autre méthode, on parcourt l'arborescence avec une fonction récursive
$ cat ~/f1 #!/bin/sh test -z "$1" && { echo usage: $0 commande ; exit 1 ; } CMD="$@" fx() { for F in $(ls -a|egrep -v '^\.$|^\.\.$') do test -d $F -a ! -h $F -a -r $F && { cd $F ; fx $F ; cd .. ; } ; done $CMD } fx $PWD $ cd /tmp $ mkdir -p a/b/c/d $ cd a $ ~/f1 pwd /tmp/a/b/c/d /tmp/a/b/c /tmp/a/b /tmp/a $