2011-07-14 109 views
5

有三種類型的文件名絕對(「/ foo」)和相對(「../foo」)文件名。什麼是「foo」類別?

優先(源於以下某種「當前工作目錄」)

../foo 
./foo 
bar/foo # really in this group? 

和(植根於一個絕對路徑,獨立的CWD)的

/foo 
/bar/foo 

和(CWD的獨立和獨立於任何絕對路徑)

foo 
bar/foo # really in this group? 

我不確定把bar/foo這個東西放在哪裏。這三個類別是否有一個通用的命名約定?還是有更多?

+0

這真的是一個*編程*問題嗎? –

+0

@Paul R:這是一個很好的問題,如果你想知道如何命名你的變量:) –

+0

回覆:*和(獨立的CWD和獨立於任何絕對路徑)*這些* *不*獨立於cwd,他們在**中是**,因此是相對的。 – Synetech

回答

1

foo也是一個相對路徑名。任何不包含目錄分隔符的路徑都與當前目錄相關.

在另一個分類中,可以調用foo作爲基本名稱;然後bar/foo移動到第一類。

+0

「任何不包含目錄分隔符的路徑都與當前目錄有關。」但是執行「echo」會找到/ bin/echo。不一定是「./echo」。當我執行「./echo」時,它找不到「/ bin/echo」。所以「foo」和「./foo」似乎有所不同;前者似乎不相對於當前目錄。 –

+1

「foo」似乎是「相對於某些情境相關,但不一定是CWD」。例如,程序執行使用PATH,庫加載用途等LD_LIBRARY_PATH。 –

+0

@litb:好吧,但是這種行爲只能在一些選擇的案例(shell命令等)中找到,我從來沒有看到過這個名稱,所以你可以自己投幣。那麼「搜索路徑相對」呢? –

相關問題