#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS