引数でディレクトリなどを渡すとき、ひとによって最期にスラッシュをつけたり、つけなかったりすると思います。
スラッシュが2つ続いても特に動作には問題ないことが多いのですが、やっぱりスラッシュは1つにしたいと思った方は以下の方法で簡単に対処できます。
以下のような引数を表示するスクリプトを作成しました。
尚、動作確認したシェルはbashです。
#!/bin/bash
echo "arg = " $1
echo "arg = " ${1%/}
実際に上記のシェルスクリプトを動かして動作確認してみます。
$ chmod +x dirarg.sh $ ./dirarg.sh /home/sakura/ arg = /home/sakura/ arg = /home/sakura
上記の実行例は、/home/sakura/を引数として渡しています。
echo ${1%/}と記した部分では、最後のスラッシュが削除されているのが確認できます。
次にスラッシュがなかった場合の動作例です。
$ ./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
以上、引数の最後の文字が指定した文字の場合、削除する方法でした。