Pytasz o katalog w bieżącym katalogu roboczym. Spróbuj zamiast tego:realpath .
penguin359,
Odpowiedzi:
17
Dałeś realpathwzględną ścieżkę do pliku w bieżącym katalogu.
Plik (który może być katalogiem) może istnieć lub nie. realpathdomyślnie to nie obchodzi. Podaje ścieżkę niezależnie od tego, czy istnieje jej ostatni element.
Jeśli chcesz, aby raportował tylko istniejące ścieżki, użyj -eflagi:
zanna@toaster:~/playground$ realpath playground/home/zanna/playground/playground
zanna@toaster:~/playground$ realpath ~/playground/home/zanna/playground
zanna@toaster:~/playground$ realpath -e playground
realpath: playground:No such file or directory
To dlatego, że podajesz ścieżkę, która nie istnieje, więc po prostu drukuje bieżący katalog i cokolwiek, co mu podałeś, zakładając, że będzie to ścieżka. Zauważ, że strona podręcznika określa, że:
Wydrukuj rozstrzygniętą bezwzględną nazwę pliku; wszystkie oprócz ostatniego komponentu muszą istnieć
Pozwala to na wykonanie z nieistniejącym celem. Aby to zilustrować, rozważ następujące przykłady:
Nie, mówi tylko, że ścieżka do (prawdopodobnie nieistniejącego) pliku yosefklznajdującego się w bieżącym katalogu ( /homes/yosefkl) to /homes/yosefkl/yosefkl. Próbować
realpath .
Odpowiedzi:
Dałeś
realpath
względną ścieżkę do pliku w bieżącym katalogu.Plik (który może być katalogiem) może istnieć lub nie.
realpath
domyślnie to nie obchodzi. Podaje ścieżkę niezależnie od tego, czy istnieje jej ostatni element.Jeśli chcesz, aby raportował tylko istniejące ścieżki, użyj
-e
flagi:źródło
To dlatego, że podajesz ścieżkę, która nie istnieje, więc po prostu drukuje bieżący katalog i cokolwiek, co mu podałeś, zakładając, że będzie to ścieżka. Zauważ, że strona podręcznika określa, że:
Pozwala to na wykonanie z nieistniejącym celem. Aby to zilustrować, rozważ następujące przykłady:
Lub, aby powielić to, co zrobiłeś:
źródło
Nie, mówi tylko, że ścieżka do (prawdopodobnie nieistniejącego) pliku
yosefkl
znajdującego się w bieżącym katalogu (/homes/yosefkl
) to/homes/yosefkl/yosefkl
. Próbowaćźródło