LINUX.ORG.RU

Проверка симлинков

 


0

1

Есть каталог с кучей симлинков в разные места файловой системы. Какие штатные средства существуют для проверки этих симлинков на существование целевого файла? «Штатные» значит уже кем-то написанные, а не которые «это решается простым скриптом на Питоне из пятидесяти строк».

Ответ на: комментарий от Eddy_Em

Да, это то, что нужно. А почему он на некорректную ссылку говорит «Нет такого файла или каталога»? Не на цель ссылки, а на саму ссылку. Она же существует.

chelovek-bugurt
() автор топика
Ответ на: комментарий от chelovek-bugurt

Ничего такого у меня не пишет:

lrwxrwxrwx 1 eddy eddy      5 июля  30 14:19 aa -> asdfd
file asdfd
asdfd: ERROR: cannot open `asdfd' (No such file or directory)
readlink aa 
asdfd
Тест можно так, например, делать:
[ -e $(readlink aa) ] && echo "file/dir exists" || echo "link is incorrect"
:
[ -e $(readlink aa) ] && echo "file/dir exists" || echo "link is incorrect"
link is incorrect

touch asdfd

[ -e $(readlink aa) ] && echo "file/dir exists" || echo "link is incorrect"
file/dir exists

rm asdfd 
rm: удалить пустой обычный файл <<asdfd>>? y

mkdir asdfd

[ -e $(readlink aa) ] && echo "file/dir exists" || echo "link is incorrect"
file/dir exists

Но, как уже выше сказали, можно просто

[ -e aa ] && echo "file/dir exists" || echo "link is incorrect"

Eddy_Em ☆☆☆☆☆
()
Последнее исправление: Eddy_Em (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.