Sie fragen nach einem Verzeichnis in Ihrem aktuellen Arbeitsverzeichnis. Versuchen Sie dies stattdessen:realpath .
Pinguin359
Antworten:
17
Sie haben realpatheinen relativen Pfad zu einer Datei im aktuellen Verzeichnis angegeben.
Die Datei (die ein Verzeichnis sein kann) kann vorhanden sein oder nicht. realpathist standardmäßig egal. Es meldet den Pfad unabhängig davon, ob sein letztes Element vorhanden ist.
Wenn Sie möchten, dass nur vorhandene Pfade gemeldet werden, verwenden Sie das -eFlag:
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
Das liegt daran, dass Sie ihm einen Pfad geben, der nicht existiert, und einfach das aktuelle Verzeichnis und alles, was Sie ihm gegeben haben, ausdrucken, vorausgesetzt, dies wäre der Pfad. Beachten Sie, dass die Manpage Folgendes angibt:
Drucken Sie den aufgelösten absoluten Dateinamen. Alle bis auf die letzte Komponente müssen vorhanden sein
Dies ermöglicht die Ausführung mit einem nicht vorhandenen Ziel. Betrachten Sie zur Veranschaulichung die folgenden Beispiele:
Nein, es wird nur angezeigt, dass der Pfad zu der (wahrscheinlich nicht vorhandenen) Datei yosefklim aktuellen Verzeichnis ( /homes/yosefkl) lautet /homes/yosefkl/yosefkl. Versuchen
realpath .
Antworten:
Sie haben
realpath
einen relativen Pfad zu einer Datei im aktuellen Verzeichnis angegeben.Die Datei (die ein Verzeichnis sein kann) kann vorhanden sein oder nicht.
realpath
ist standardmäßig egal. Es meldet den Pfad unabhängig davon, ob sein letztes Element vorhanden ist.Wenn Sie möchten, dass nur vorhandene Pfade gemeldet werden, verwenden Sie das
-e
Flag:quelle
Das liegt daran, dass Sie ihm einen Pfad geben, der nicht existiert, und einfach das aktuelle Verzeichnis und alles, was Sie ihm gegeben haben, ausdrucken, vorausgesetzt, dies wäre der Pfad. Beachten Sie, dass die Manpage Folgendes angibt:
Dies ermöglicht die Ausführung mit einem nicht vorhandenen Ziel. Betrachten Sie zur Veranschaulichung die folgenden Beispiele:
Oder um zu duplizieren, was Sie getan haben:
quelle
Nein, es wird nur angezeigt, dass der Pfad zu der (wahrscheinlich nicht vorhandenen) Datei
yosefkl
im aktuellen Verzeichnis (/homes/yosefkl
) lautet/homes/yosefkl/yosefkl
. Versuchenquelle