diff --git a/lib/ulib/base b/lib/ulib/base index 81b9878..9b293a3 100644 --- a/lib/ulib/base +++ b/lib/ulib/base @@ -548,6 +548,19 @@ function ppath() { recho "$path" } +function ppath2() { +# Comme ppath() mais afficher '.' comme '../$dirname' + local path="$1" cwd="$2" + + path="$(abspath "$path")" # essayer de normaliser le chemin + [ -n "$cwd" ] || cwd="$(pwd)" + + [ "$path" = "$cwd" ] && path="../$(basename -- "$path")" + [ "$cwd" != "/" -a "$cwd" != "$HOME" ] && path="${path#$cwd/}" + [ "${path#$HOME/}" != "$path" ] && path="~${path#$HOME}" + + recho "$path" +} function relpath() { # Afficher le chemin relatif de $1 par rapport à $2. Si $2 n'est pas spécifié, # on prend le répertoire courant. Si $1 ou $2 ne sont pas des chemins absolus,