[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Firefox неправильно восстанавливает запомненную при выходе позицию



On Sun, Sep 29, 2019 at 01:18:01AM +0300, Dmitry Alexandrov wrote:
> Eugene Berdnikov <bd4@protva.ru> wrote:
> > On Sat, Sep 28, 2019 at 11:24:18PM +0300, Victor Wagner wrote:
> >> buitin, не builtin синтаксически это все равно команда с параметрами.
> >
> >  Синтаксически символ [ не является alphanumeric, поэтому он является не нормальным именем команды, а нелепым исключением.
> 
> Почему?  Тут вам не Винда, из запретных для файловых имен символов — кажется, только нулевой.

 Потому что символ [ ещё является одним из спецсимволов для file globbing,
 и если написать, например, [a-z] то сначала Баш попытается раскрыть это
 выражение, подобрав из текущего каталога файлы "a", "b" ... "z", и только
 если это не удастся, пойдёт искать файл "[a-z]" по каталогам в PATH.
 Да, в случае одиночного [ глоббинг не случится, потому что такой шаблон
 синтаксически неправилен, но вместо того, чтобы выдать сообщение об ошибке
 в шаблоне, классический борновский шелл пойдёт искать бинарий по PATH.
 Всё это контринтиутивно. Обычный человек, выросший в нашей современной
 культуре программирования, склонен воспринимать [ ... ] как часть
 синтаксиса, а не думать постоянно о тонкостях трактовки параметров
 со множеством неочевидных "волчьих ям" (piffalls).

 Короче, Bourne shell это тяжкий груз наследственности.

> >  Перечитал это раз пять, но ниасилил, увы... :)
> 
> Имеется в виду Bash Pitfall № 9 по Вулиджу [0].
> 
> [0] https://mywiki.wooledge.org/BashPitfalls#if_.5Bgrep_foo_myfile.5D

 Спасибо. Да, читается как медицинская карта тяжелобольного.
-- 
 Eugene Berdnikov


Reply to: