Bonjour,
Est-il possible de savoir si il y a un "/" à la fin d'un répertoire passé en paramètre d'un script bash.
Peut être en appelant de la complétion ?
Merci d'avance.
Version imprimable
Bonjour,
Est-il possible de savoir si il y a un "/" à la fin d'un répertoire passé en paramètre d'un script bash.
Peut être en appelant de la complétion ?
Merci d'avance.
Si tu veux juste savoir si une variable se termine par "/", tu peux utiliser cut pour extraire le dernier caractère et le comparer avec ce "/". Mais si comme ton titre semble l'indiquer, tu veux savoir si le contenu de ta variable "$1" correspond à un répertoire, il vaut mieux utiliser "test -d $1"
Non j'ai mal choisi le titre, je veux effectivement savoir si la chaine se termine par "/", je vais tenter avec "cut"
Merci
Bonsoir
ce n'est pas directement la question, mais pour enlever le dernier / s'il y en a, on peut faire simplement "${var%/}"
Ou pour les arguments : for i in "${@%/}" ; do ... ; done
Bonjour,
Merci Alain.g, je vais tester ça aussi :)
En fait, j'aurais du bien vous présenter la chose, c'est de ma faute.
J'ai un script qui reçoit un répertoire en paramètre.
Sur ce répertoire, le script va chercher un certain type de fichcier.
donc la commande suivante est ls $1/*.html, mais si j'ai déjà le "/" dans $1 le script déconne.
Voila :)
Est ce que vous auriez la même chose en ksh ? :p
Ce que je t'ai indiqué pour bash fonctionne également en ksh : "${1%/}"
Bien plus simple et plus économe que d'utiliser sed .