~/blog/removing-trailing-slash-when-last-character-is-in-bash
Published on

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

916文字2分で読めます–––
閲覧数
Authors
  • avatar
    Name
    Shou Arisaka nyapp.buzz/shou
    short bio
    Z世代の情報技術者。Next.jsで自作SNSを個人開発中。

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
avatar

Shou Arisaka

情報技術者 / Z世代プログラマー / SaaSアプリやSNSを開発
今すぐ話そう!

15歳でWordPressサイトを立ち上げ、ウェブ領域に足を踏み入れる。翌年にはRuby on Railsを用いたマイクロサービス開発に着手し、現在はデジタル庁を支えたNext.jsによるHP作成やSaaS開発のプロジェクトに携わりながら、React.js・Node.js・TypeScriptによるモダンなウェブアプリの個人開発を趣味でも行う。
フロントエンドからバックエンドまで一貫したアジャイルなフルスタック開発を得意とし、ウェブマーケティングや広告デザインも必要に応じて担当、広告運用・SEO対策・データ分析まで行う低コストかつ高品質な顧客体験の提供が好評。
国内外から200万人を超える人々に支えられ、9周年を迎えるITブログ「yuipro」の開発者、デザイナーでありライター。現在ベータ段階の自作SNS「nyapp.buzz」を日本一の国産SNSとするべく奮闘中。

Created with Fabric.js 5.2.4 何かご質問がありますか?