cd //はなぜエラーにならないの?
先週ちょっと問題になったのだが、kshで、
cd //home
といった記述はエラーにならないようだ。最初はバックスラッシュかなんかかと思ったけど。先頭の//はルートディレクトリと解釈されているようだ。なぜ?
2006/07/28追記
問題になったというのは、今のプロジェクトでは環境変数を定義する場合に、
export DIR=/home/aaa/bbb
という具合に、末尾は"/"を入れないというコーディング規約があるので、
DIR=/home/aaa/bbb
FILE=file.dat
PATH=$DIR/$FILE
と記述するが、
DIR=/home/aaa/bbb/
FILE=file.dat
PATH=$DIR$FILE
という記述が混在していたため。この辺は統一しておかないと、他にも、dirnameコマンドやbasenameコマンドを使った場合と変数のパターンマッチングを使った場合で、動作が変わってしまう可能性がある。(『シェルスクリプト基本リファレンス』を借りて知った。)
- 作者: 山森丈範
- 出版社/メーカー: 技術評論社
- 発売日: 2005/02
- メディア: 単行本
- 購入: 2人 クリック: 74回
- この商品を含むブログ (13件) を見る