Files

將“./”放在路徑開頭的目的/好處是什麼?

  • December 15, 2016

./使用(點斜線)在路徑前面有什麼好處嗎?

在大多數情況下,cd ./home等價於cd home(也cd ./././././home)。是否存在這兩條路徑不會評估為同一路徑的情況?./在文件夾或文件路徑的開頭有或沒有有什麼好處或缺點?

如果從程序或腳本內部,我想打開一個配置文件,我正在硬編碼要打開的文件,應該是:

resource/config.txt

或者

./resource/config.txt

POSIX(或常見的 Unix 實現)在打開這兩條路徑之間是否有任何語義差異?

至少有兩個理由去做./something

  1. 您有一個要執行的程序。它不方便地命名為“test”或“cat”或“ps”。PATH通常,shell 在環境變數的目錄中查找程序名稱。要執行您的test,您必須鍵入./test,否則/usr/bin/test會執行某些操作。這可能非常令人困惑。
  2. .PATH環境變數中沒有,因為您不想在瀏覽文件系統時意外執行程序。真的很糟糕的人可以將腳本留ls在某個目錄中。該文件ls可能包含rm -rf $HOME. 如果你PATH有“。” 在正確的地方,這個可怕的人可能會欺騙您刪除主目錄中的所有內容。你當然可以把“。” 作為 中的最後一個條目PATH,但可以設計“。”的情況。在PATH導致問題。因此,要執行執行檔位於目前工作目錄中的程序,您必須在其文件名前加上“./”前綴。

引用自:https://unix.stackexchange.com/questions/330438