Uso il realpath
comando, ma aggiunge sempre l'input originale alla fine del percorso:
$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefkl
Uso il realpath
comando, ma aggiunge sempre l'input originale alla fine del percorso:
$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefkl
Risposte:
Hai fornito realpath
un percorso relativo a un file nella directory corrente.
Il file (che può essere una directory) può o non può esistere. realpath
non importa per impostazione predefinita. Riporta il percorso indipendentemente dal fatto che esista l'ultimo elemento.
Se vuoi che riporti solo i percorsi esistenti, usa il -e
flag:
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
Questo perché gli stai dando un percorso che non esiste, quindi stampa semplicemente la directory corrente e qualunque cosa tu gli abbia dato, supponendo che sarebbe il percorso. Si noti che la pagina man specifica che:
Stampa il nome file assoluto risolto; tutti tranne l'ultimo componente devono esistere
Quindi consente l'esecuzione con un target inesistente. Per illustrare, considera questi esempi:
$ pwd
/home
$ ls
lost+found terdon
$ realpath terdon
/home/terdon
$ realpath nonExistentDir
/home/nonExistentDir
Oppure, per duplicare ciò che hai fatto:
$ pwd
/home/terdon
$ realpath terdon
/home/terdon/terdon
realpath .