パスの先頭に「./」を置く目的/利点は何ですか? [コピー]

パスの先頭に「./」を置く目的/利点は何ですか? [コピー]

./パスの前に(点線スラッシュ)を追加すると、どのような利点がありますか?

ほとんどの場合(および)cd ./homeと同じです。これら2つのパスが同じパスと評価されない場合はありますか?フォルダまたはファイルパスの先頭にあると長所と短所がありますか?cd homecd ./././././home./

プログラムまたはスクリプト内で構成ファイルを開くには、開こうとしているファイルをハードコードする必要があります。

resource/config.txt

または

./resource/config.txt

POSIX(または一般的なUnix実装)は、これら2つのパスを開くことに意味の違いを提供しますか?

ベストアンサー1

これを行うには少なくとも2つの理由があります./something

  1. 実行したいプログラムがあります。 「test」や「cat」、「ps」のように不快に名前がつきました。通常、シェルは環境変数ディレクトリ内のプログラム名を探しますPATH。を実行するには、testを入力する必要があります./test。それ以外の場合は、/usr/bin/test同様の内容が実行されます。これは非常に混乱する可能性があります。

  2. .PATHファイルシステムの閲覧中に誤ってプログラムを実行したくないため、環境変数にはその変数がありません。本当に悪い人はlsディレクトリのどこかにスクリプトを残すかもしれません。ファイルに.をls含めることができますrm -rf $HOMEPATH正しい場所に「.」があると、ひどい人にあなたをだましてホームディレクトリ内のすべてを削除させることができます。もちろん、最後の項目として「.」を入力できますが、PATH「.」の場合も処理できます。問題を引き起こしますPATH。したがって、実行可能ファイルが現在の作業ディレクトリにあるプログラムを実行するには、そのファイル名の前に「./」を付ける必要があります。

おすすめ記事