Filenames

在相對路徑中與/ v/sw/o“./”有什麼區別嗎?

  • August 5, 2017

是否有任何細微的區別:

file

./file

作為相對路徑?

當用作 shell 或exec*p()libc 函式中的命令名稱時,filefile$PATH(或對於 shell,可能呼叫內置版本或該名稱的函式)中查找,同時./file將執行目前目錄。

這並不是./觸發特殊行為,只是如果命令名稱不包含任何/,它會進行$PATH查找。./cmd是給出cmd包含/.

./前綴還通常用於確保文件名不以某些命令的問題字元開頭。

例如:

rm ./-f

removes -f, whilerm -frm使用-f選項呼叫(rm -- -f也可以)。或者:

cat ./-
awk '{print $1}' ./a==b.txt

哪裡--幫不上忙。

您會在不知道 的擴展是否會產生有問題的字元的腳本中rm ./*發現這一點。awk ... ./*``*

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