Respostas:
case $x in *[!/]*/) x=${x%"${x##*[!/]}"};; esac
target=${DIR%/}
Usar target=${1%/}
Veja esta substituição de parâmetro deste guia de script do bash para obter mais.
Eu acho que a melhor solução para canonizar caminhos é realpath $path
ou com -m
opção se ela não existir. Esta solução remove automaticamente barras desnecessárias e adiciona senhas
readlink -f
é um pouco mais portátil do que realpath
. Para opções de additonal / alternativas: linux.die.net/man/1/readlink
target=$(realpath -L --relative-base . $1)
Cuidado, o bash3 adicionou regex semelhante ao perl ao bash. O guia mencionado cobre isso, assim como o guia oficial do GNU , mas nem todas as referências.
Substitua 2.19/*
para ser2.19
.
VER="2.19/foo-bar"
NEWVER=${VER%/*}