Files
將“./”放在路徑開頭的目的/好處是什麼?
./
使用(點斜線)在路徑前面有什麼好處嗎?在大多數情況下,
cd ./home
等價於cd home
(也cd ./././././home
)。是否存在這兩條路徑不會評估為同一路徑的情況?./
在文件夾或文件路徑的開頭有或沒有有什麼好處或缺點?如果從程序或腳本內部,我想打開一個配置文件,我正在硬編碼要打開的文件,應該是:
resource/config.txt
或者
./resource/config.txt
POSIX(或常見的 Unix 實現)在打開這兩條路徑之間是否有任何語義差異?
至少有兩個理由去做
./something
。
- 您有一個要執行的程序。它不方便地命名為“test”或“cat”或“ps”。
PATH
通常,shell 在環境變數的目錄中查找程序名稱。要執行您的test
,您必須鍵入./test
,否則/usr/bin/test
會執行某些操作。這可能非常令人困惑。- 您
.
的PATH
環境變數中沒有,因為您不想在瀏覽文件系統時意外執行程序。真的很糟糕的人可以將腳本留ls
在某個目錄中。該文件ls
可能包含rm -rf $HOME
. 如果你PATH
有“。” 在正確的地方,這個可怕的人可能會欺騙您刪除主目錄中的所有內容。你當然可以把“。” 作為 中的最後一個條目PATH
,但可以設計“。”的情況。在PATH
導致問題。因此,要執行執行檔位於目前工作目錄中的程序,您必須在其文件名前加上“./”前綴。