./
パスの前に(点線スラッシュ)を追加すると、どのような利点がありますか?
ほとんどの場合(および)cd ./home
と同じです。これら2つのパスが同じパスと評価されない場合はありますか?フォルダまたはファイルパスの先頭にあると長所と短所がありますか?cd home
cd ./././././home
./
プログラムまたはスクリプト内で構成ファイルを開くには、開こうとしているファイルをハードコードする必要があります。
resource/config.txt
または
./resource/config.txt
POSIX(または一般的なUnix実装)は、これら2つのパスを開くことに意味の違いを提供しますか?
ベストアンサー1
これを行うには少なくとも2つの理由があります./something
。
実行したいプログラムがあります。 「test」や「cat」、「ps」のように不快に名前がつきました。通常、シェルは環境変数ディレクトリ内のプログラム名を探します
PATH
。を実行するには、test
を入力する必要があります./test
。それ以外の場合は、/usr/bin/test
同様の内容が実行されます。これは非常に混乱する可能性があります。.
PATH
ファイルシステムの閲覧中に誤ってプログラムを実行したくないため、環境変数にはその変数がありません。本当に悪い人はls
ディレクトリのどこかにスクリプトを残すかもしれません。ファイルに.をls
含めることができますrm -rf $HOME
。PATH
正しい場所に「.」があると、ひどい人にあなたをだましてホームディレクトリ内のすべてを削除させることができます。もちろん、最後の項目として「.」を入力できますが、PATH
「.」の場合も処理できます。問題を引き起こしますPATH
。したがって、実行可能ファイルが現在の作業ディレクトリにあるプログラムを実行するには、そのファイル名の前に「./」を付ける必要があります。