Linuxパソコン・サーバーのBashプログラミング言語において、Bash 最後の文字が/
(スラッシュ)のとき/
を取り除く方法について紹介します。
最後の”/”を取り除きたい場合ってあると思います。例えばcp
とかrsync
をする場合は、単純なディレクトリの指定ではなく、ディレクトリ+*
(ワイルドカード)の指定が大きな意味を持ちます。
path/to/*
としたいのに、
path/to//*
となってしまう、
といった事態を避けることができますね。
func(){
[[ "$( echo "${1}" | getlastchar )" == "/" ]] && var="$( echo ${1} | chomplastchar )" || var="${1}"
echo ${var}
}
chomplastchar(){
chomp | python3 -c "import json,sys;print(sys.stdin.read()[:-1])"
}
getlastchar(){
chomp | python3 -c "import json,sys;print(sys.stdin.read()[-1:])"
}
chomp ()
{
perl -pe "chomp"
}
yuis ASUS /mnt/c/pg$ func "dir/"
dir
yuis ASUS /mnt/c/pg$ func "dir"
dir