プログラミング

Bash 最後の文字が`/`のとき`/`を取り除く

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"
}

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_904a3a3c-7b8d-4068-9308-f280afea250c.png

yuis ASUS /mnt/c/pg$ func "dir/"
dir
yuis ASUS /mnt/c/pg$ func "dir"
dir

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です