68user's page 掲示板

Prev< No. 4936> Next  [最新発言に戻る] [過去ログ一覧]
No. 4936 # 68user 2008/08/21 (木) 02:14:31
>>4934 べた
PATH に . を含めない理由は以下のとおり。

・セキュリティホールとなる。PATH=.:/bin:/usr/bin:/usr/local/bin となっていて、
    cd ~foo; ls としたときに /home/foo/ls が存在したら、そのプログラムを実行
    してしまう。cd /tmp; ls も同様。そのプログラムがどんな悪さをするかはわからない。

・PATH に . を加えると、カレントディレクトリによって実行されるコマンドが異なる
    可能性があるため、説明がめんどくさいし、はまりやすくなる。例えば /bin と
    /usr/bin に同名のコマンドがあるとして、コマンド foo をタイプしたときに、
        - カレントディレクトリが /usr/bin の場合は /usr/bin/foo が実行される
        - カレントディレクトリが /usr/bin 以外の場合は /bin/foo が実行される
    というのはわかりづらい。

・csh・tcsh・bash・zsh など、今どきなシェルを使っている場合は、
        ./
    からタイプした方がファイル名補完を使えるため、入力が速い。

Prev< No. 4936> Next  [最新発言に戻る] [過去ログ一覧]