Можно ли запустить ls или найти и передать его через stat?

На Fedora я использую:

grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"

потому что выполнение без опции readlink возвращает относительный путь, а grub2-mkconfig дает ошибку:

$ ls -l /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Dec 10  2015 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

$ readlink /etc/grub2.cfg
../boot/grub2/grub.cfg

$ sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)"
/usr/sbin/grub2-mkconfig: line 244: ../boot/grub2/grub.cfg.new: No such file or directory

Я использую опцию -e, чтобы если симлинк не разрешается в существующий файл, вывод отображался на stdout, чтобы я знал, что что-то пошло не так.

Из man-страницы для readlink:

      -e, --canonicalize-existing
          canonicalize  by  following  every symlink in every component of
          the given name recursively, all components must exist
6
17.04.2016, 19:01
0 ответов

Теги

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