tout allait bien quand j'appellais mon script comme suit :
./monscript.sh
mais comme désormais je l'appelle comme ça :
./scripts/monscript.sh
ça ne marche plus ! (puisqu'un nouveau slash est venu se placer dans le chemin).
Je cherchais une astuce pour parcourir $0 à l'envers en disant : "tu t'arrêtes au premier slash trouvé". Y a t-il un autre moyen que de faire un for ???
Marsh Posté le 30-04-2005 à 11:04:43
Salut !
Je souhaite parser le nom de mon script shell (argument $0) qui a la forme :
./chemin/de/mon/fichier.ext
pour en obtenir uniquement la chaine "fichier.ext".
Je faisais :
FIC_LOG=`echo $0 | awk '{ print substr($0,index($0,"/" )+1, index($0,".sh" ) -
(index($0,"/" )+1) ) }'`
tout allait bien quand j'appellais mon script comme suit :
./monscript.sh
mais comme désormais je l'appelle comme ça :
./scripts/monscript.sh
ça ne marche plus ! (puisqu'un nouveau slash est venu se placer dans le
chemin).
Je cherchais une astuce pour parcourir $0 à l'envers en disant : "tu t'arrêtes
au premier slash trouvé". Y a t-il un autre moyen que de faire un for ???
Comment faire ?
Merci de votre aide