Ответ 1
Если у вас есть утилита readlink(1)
(часть GNU coreutils), она делает то, что вы хотите. В противном случае вы любите ручей, я не знаю ни одного простого и портативного эквивалента.
Создание bash script, и я пытаюсь найти способ узнать, на что указывает моя символическая ссылка. Прямо сейчас, я делаю это с этим, но это работает только в том случае, если моя символическая ссылка находится в текущем каталоге. Есть ли способ узнать, что указывает моя символическая ссылка, если она находится в другом каталоге?
ls -l "symlink" | cut -d'>' -f2
Если у вас есть утилита readlink(1)
(часть GNU coreutils), она делает то, что вы хотите. В противном случае вы любите ручей, я не знаю ни одного простого и портативного эквивалента.
В BSch toolchain я делаю:
stat -f %Y <filename>
Например:
% ln -sf /bsd ~/blah
% stat -f %Y ~/blah
/bsd
В инструментальной цепочке GNU это не так просто, вы можете использовать что-то вроде:
$ stat -c %N /usr/bin/firefox
`/usr/bin/firefox' -> `../lib/firefox-3.6.12/firefox.sh'
Затем используйте awk/cut и sed для извлечения и удаления котировок нежелательной почты.
Или решение messier заключается в использовании ls -al
и либо awk/cut для извлечения нужного столбца.