On Sat, Nov 08, 2008 at 05:52:20PM +0300, Alexey Tourbin wrote: > On Sat, Nov 08, 2008 at 05:29:47PM +0300, Dmitry V. Levin wrote: > > On Thu, Nov 06, 2008 at 07:13:31PM +0300, Alexey M. Tourbin wrote: > > > --- a/scripts/0ldconfig.filetrigger > > > +++ b/scripts/0ldconfig.filetrigger > > [...] > > > + # 0) Short circuit condition: if a library is already found, > > > + # skip the remaining list of non-system libraries. Note that > > > + # the input file list is sorted, and "/lic" collates after > > > + # "/lib" and "/lib64". > > > + if [ -n "$lib" ] && LC_ALL=C [ "$f" '>' "/lic" ]; then > > > > Тогда лучше написать без обиняков: [ "$f" '>' "/lib64" ] > > Не совсем. Нужно обрубать цикл только тогда, когда все файлы > "/lib64/*" уже пройдены. А так любой файл "/lib64/*" будет больше > "/lib64", а ведь флаг sys=1 ещё не выставлен. То есть то, что ты > предлагаешь, -- неверно. Но идея понятна: условие окончание цикла > можно выразить ещё немного более точно. Если во всех локалях > "/lib64" > "/lib/" (цифра больше слеша), то в принципе можно сравнивать > с "/lib7". Поскольку следующий символ после "/" это "0", можно сравнивать с "/lib640". :) -- ldv