#navi(../)
* 引数で渡された最期のスラッシュを削除する方法 [#d3036f9c]
引数でディレクトリなどを渡すとき、ひとによって最期にスラッシュをつけたり、つけなかったりすると思います。~
スラッシュが2つ続いても特に動作には問題ないことが多いのですが、やっぱりスラッシュは1つにしたいと思った方は以下の方法で簡単に対処できます。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* サンプルシェルスクリプト [#x6d4773e]
以下のような引数を表示するスクリプトを作成しました。~
尚、動作確認したシェルはbashです。
#ref(dirarg.sh)
#!/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
最後にスラッシュがない場合は、何も加工されず出力されます。
* スラッシュ以外は? [#n2c33c74]
上記では %/ と記述しましたがスラッシュの部分を#とかにすれば、最後に#があった場合、削除されます。
#ref(arg.sh)
#!/bin/bash
echo "arg = " $1
echo "arg = " ${1%#}
以下に実行例を記します。
$ chmod +x arg.sh
$ ./arg.sh sakura#
arg = sakura#
arg = sakura
以上、引数の最後の文字が指定した文字の場合、削除する方法でした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)