Script bash linux
Résolu
floooo
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai besoin d'un script qui décompose pwd en
repertoire parent +
nom rep actuel
ex
/home/flooo/dossier1/exemple/cas1
doit donner
home/flooo/dossier1/exemple/
cas1
voila ce aue j'ai commencé
rep=$(pwd)
echo $rep
i=$(pwd | grep -o "/" | wc -l) => renvoie 5
apres je voudrais ajouter ca
mais j'y arrive pas
cas=$(pwd | cut -d/ -f$i)
echo $cas
et pour avoir le rep parent
cd ..
repp=$(pwd)
cd cas
je reviens dans le dossier
quelqu'un peu m'aider à assembler tout ca ?
j'ai besoin d'un script qui décompose pwd en
repertoire parent +
nom rep actuel
ex
/home/flooo/dossier1/exemple/cas1
doit donner
home/flooo/dossier1/exemple/
cas1
voila ce aue j'ai commencé
rep=$(pwd)
echo $rep
i=$(pwd | grep -o "/" | wc -l) => renvoie 5
apres je voudrais ajouter ca
mais j'y arrive pas
cas=$(pwd | cut -d/ -f$i)
echo $cas
et pour avoir le rep parent
cd ..
repp=$(pwd)
cd cas
je reviens dans le dossier
quelqu'un peu m'aider à assembler tout ca ?
A voir également:
- Script bash linux
- Script vidéo youtube - Guide
- Linux reader - Télécharger - Stockage
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Toutou linux - Télécharger - Systèmes d'exploitation
4 réponses
Salut,
[tmpfs]$ echo $PWD /home/jp/tmpfs [tmpfs]$ echo ${PWD%/*} /home/jp [tmpfs]$ echo ${PWD##*/} tmpfs [tmpfs]$;-))
Salut.
Je n'ai pas compris, où est le problème ?
tu peux peut être utiliser la variable $OLDPWD après ton cd .. et ensuite une opération sur les chaines de caratère (cf man bash)
Je n'ai pas compris, où est le problème ?
tu peux peut être utiliser la variable $OLDPWD après ton cd .. et ensuite une opération sur les chaines de caratère (cf man bash)
mon problème était que je n'arrivais pas à faire des opérations avec la variable i
il me faut i+1
i=$i+1 ne fonctionne pas
((i=$i+1))
i+=1
enfin j'ai tout essayé
et si je veux spécifié que i est un nombre
let i=$(pwd | grep -o "/" | wc -l) ou (( i=$(pwd | grep -o "/" | wc -l)))
ça coince aussi
ca c'est le premier blocage
ensuite
je veux que -f$i soit compris comme -f6
mais la encore ça marche pas j'ai une erreur
y a t'il une conversion ascii => int à effectuer
j'ai vu qu'une fonction od existait pour faire ça mais pour les fichiers et ça transforme en hexadécimal
enfin ça complique quand même mon problème
Je pense que y a plus simple
il me faut i+1
i=$i+1 ne fonctionne pas
((i=$i+1))
i+=1
enfin j'ai tout essayé
et si je veux spécifié que i est un nombre
let i=$(pwd | grep -o "/" | wc -l) ou (( i=$(pwd | grep -o "/" | wc -l)))
ça coince aussi
ca c'est le premier blocage
ensuite
je veux que -f$i soit compris comme -f6
mais la encore ça marche pas j'ai une erreur
y a t'il une conversion ascii => int à effectuer
j'ai vu qu'une fonction od existait pour faire ça mais pour les fichiers et ça transforme en hexadécimal
enfin ça complique quand même mon problème
Je pense que y a plus simple