Выход Realpath включает в себя вход

Я использую команду realpath, но она всегда добавляет исходный ввод в конце пути:

$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefkl
9
задан 27 December 2017 в 12:52

3 ответа

Вы указали realpath относительный путь к файлу в текущем каталоге.

Файл (который может быть каталогом) может существовать или не существовать. realpath не волнует по умолчанию. Он сообщает путь независимо от того, существует ли его последний элемент.

Если вы хотите, чтобы он сообщал только о существующих путях, используйте флаг -e:

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
17
ответ дан 27 December 2017 в 12:52

Это потому, что вы даете ему путь, который не существует, поэтому он просто распечатывает текущий каталог и все, что вы ему дали, предполагая, что это будет путь. Обратите внимание, что в справочной странице указывается, что:

Распечатать разрешенное абсолютное имя файла; должны существовать все, кроме последнего компонента

Таким образом, он допускает выполнение с несуществующей целью. Чтобы проиллюстрировать это, рассмотрим следующие примеры:

$ pwd
/home
$ ls
lost+found  terdon
$ realpath terdon
/home/terdon
$ realpath nonExistentDir
/home/nonExistentDir

Или, чтобы дублировать то, что вы сделали:

$ pwd
/home/terdon
$ realpath terdon
/home/terdon/terdon
11
ответ дан 27 December 2017 в 12:52

Нет, это только говорит о том, что путь к (возможно, не существующему) файлу yosefkl, расположенному в текущем каталоге (/homes/yosefkl), равен /homes/yosefkl/yosefkl. Попробуйте

realpath "$PWD"
5
ответ дан 27 December 2017 в 12:52
  • 1
    Я всегда сохраняю свою установку Ubuntu актуальной (повседневный), но к сожалению это didn' t делают мое модемное разоблачение в Администраторе сети. – Seyed Mohammad 6 June 2012 в 09:55
  • 2
    Я всегда сохраняю свою установку Ubuntu актуальной (повседневный), но к сожалению это didn' t делают мое модемное разоблачение в Администраторе сети. – Seyed Mohammad 6 June 2012 в 09:55

Другие вопросы по тегам:

Похожие вопросы: