回答:
target=${DIR%/}
使用する target=${1%/}
詳細については、このbashスクリプトガイドのパラメータ置換を参照してください。
パスを正規化するためのより良い解決策は、それが存在しない場合realpath $path
は-m
オプションであると思います。このソリューションは、不要なスラッシュを自動的に削除し、pwdを追加します
readlink -f
は、それよりも少し移植性があるということrealpath
です。追加/代替オプションの場合:linux.die.net/man/1/readlink
target=$(realpath -L --relative-base . $1)
注意してください、bash3はperlに似た正規表現をbashに追加しました。言及されているガイドは、これとGNUの公式ガイドをカバーしていますが、すべてのリファレンスがカバーしている わけではありません。
代入2.19/*
します2.19
。
VER="2.19/foo-bar"
NEWVER=${VER%/*}