引数で渡された最期のスラッシュを削除する方法 †引数でディレクトリなどを渡すとき、ひとによって最期にスラッシュをつけたり、つけなかったりすると思います。 サンプルシェルスクリプト †以下のような引数を表示するスクリプトを作成しました。 #!/bin/bash echo "arg = " $1 echo "arg = " ${1%/} 実際に上記のシェルスクリプトを動かして動作確認してみます。 $ chmod +x dirarg.sh $ ./dirarg.sh /home/sakura/ arg = /home/sakura/ arg = /home/sakura 上記の実行例は、/home/sakura/を引数として渡しています。 $ ./dirarg.sh /home/sakura arg = /home/sakura arg = /home/sakura 最後にスラッシュがない場合は、何も加工されず出力されます。 スラッシュ以外は? †上記では %/ と記述しましたがスラッシュの部分を#とかにすれば、最後に#があった場合、削除されます。 #!/bin/bash echo "arg = " $1 echo "arg = " ${1%#} 以下に実行例を記します。 $ chmod +x arg.sh $ ./arg.sh sakura# arg = sakura# arg = sakura 以上、引数の最後の文字が指定した文字の場合、削除する方法でした。 |