LINUX.ORG.RU
ФорумTalks

Нельзя просто взять и удалить слеш.

 


3

3

Не пятница, но всё же «я познаю мир». Шел чуть меня дураком не сделал.

vitus@s1:/tmp$ mkdir test
vitus@s1:/tmp$ touch test/text.txt
vitus@s1:/tmp$ ln -s test ttt
vitus@s1:/tmp$ export TEST=/tmp/ttt
vitus@s1:/tmp$ find $TEST -iname text.txt
vitus@s1:/tmp$ find $TEST/ -iname text.txt
/tmp/ttt/text.txt
vitus@s1:/tmp$ find /tmp/test -iname text.txt
/tmp/test/text.txt
vitus@s1:/tmp$ find /tmp/ttt -iname text.txt

★★★★★

Последнее исправление: vtVitus (всего исправлений: 1)

Всё правильно, директория — достаточно специальный файл, симлинк — недостаточно специальный.

Хочешь сделать багрепорт?

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 1)

man 1 find

-P Never follow symbolic links. This is the default behaviour. When find examines or prints information a file, and the file is a symbolic
link, the information used shall be taken from the properties of the symbolic link itself.

Со слэшом find лезет в каталог (даже если это симлинк), без – лезет, только если это не симлинк, или не включить follow symbolic links.

/thread

xenith
()
Ответ на: комментарий от xenith

лезет, только если это не симлинк, или не включить follow symbolic links.

лезет, только если это не симлинк, либо включено follow symbolic links.

// fix

xenith
()

А ещё попробуй:

% su - 
# mkdir dir1
# chown root.root dir1
# ln -sf dir1 dir2
# chown user.user dir1
# chown user.user dir2
# ls -l dir{1,2}
и посмотри на права.

pacify ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.