5

Istnieją trzy rodzaje nazw plikówBezwzględne ("/ foo") i względne ("../foo") nazwy plików. Jak nazywa się kategoria "foo"?

Pierwsze (zakorzenione poniżej pewnego rodzaju „bieżącego katalogu roboczego”)

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

oraz (zakorzenione w bezwzględną ścieżką, niezależnie od CWD)

/foo 
/bar/foo 

i (niezależnie od CWD i niezależnie od absolutnej ścieżki)

foo 
bar/foo # really in this group? 

Nie jestem pewien, gdzie umieścić obiekt bar/foo. Czy istnieje ogólna konwencja nazewnictwa dla tych trzech kategorii? A może jest ich więcej?

+0

Czy to jest naprawdę * programistyczne * pytanie? –

+0

@Paul R: to dobre pytanie, jeśli chcesz wiedzieć jak nazwać swoje zmienne :) –

+0

Odp: * I (niezależnie od CWD i niezależne od absolutnej ścieżki) * Są * nie * niezależne od cwd, one są ** w ** cwd, a więc względne. – Synetech

Odpowiedz

1

foo to również względna ścieżka. Dowolna ścieżka niezawierająca separatora katalogu jest względna w stosunku do bieżącego katalogu. W innej taksonomii można nazwać foo podstawową nazwą; następnie bar/foo przechodzi do pierwszej kategorii.

+0

"Dowolna ścieżka niezawierająca separatora katalogu jest względna względem bieżącego katalogu.". Ale wykonanie "echo" wyszukuje/bin/echo. Niekoniecznie "./echo". Kiedy wykonuję "./echo", nie znajduje "/ bin/echo". Tak więc "foo" i "./foo" wydają się być różne; pierwszy nie wydaje się być względny do bieżącego katalogu. –

+1

"foo" wydaje się być "relatywne do kontekstu zależnego, ale niekoniecznie CWD". Na przykład wykonywanie programu używa PATH, ładowanie biblioteki wykorzystuje, między innymi, LD_LIBRARY_PATH. –

+0

@litb: W porządku, ale to zachowanie występuje tylko w wybranej liczbie przypadków (polecenia powłoki itp.) I nigdy nie widziałem na to nazwy, więc możesz sam je sam wyznaczyć. A co z "relatywną ścieżką wyszukiwania"? –

Powiązane problemy