Victor Wagner <vi...@wagner.pp.ru> wrote: > В Sat, 28 Sep 2019 13:41:09 +0300 > "Andrey Jr. Melnikov" <temnota...@gmail.com> пишет:
> > Victor Wagner <vi...@wagner.pp.ru> wrote: > > > On Thu, 26 Sep 2019 16:14:50 +0300 (MSK) > > > yuri.nefe...@gmail.com wrote: > > > > [...] > > > > > Тут мы не на grep экономим, а на test. В смысле на команде > > > "квадратая скобка". После найденного мной бага #931822 мне очень > > > хочется у тех, кто не понимает что такое команда квадратная скобка, > > > в чем ее отличие от > > Нет давно такой комманды (в понимании современных shell'ов). Уже > > давно везде что '[', что 'test' - builtin. > buitin, не builtin синтаксически это все равно команда с параметрами. Вопрос - какая. Вот у нас их получается 2 варианта - один POSIX который прибит в *sh, второй /usr/bin/{[,test} который с башизмами. И зная различия в этих командах - можно то выполнить if /usr/bin/test .... && .... > Проблема в том что люди не понимают, что условием в шелловских условных > конструкциях является не какое-то там выражениеп, а именно > последовательность шелловских команд, формирующая некий код завершения. Проблема в том, что всякие стандарты пишут академики. И ни одна "светлая академическая голова" не придумала банальной вещи - запросить у чертового шелла какую именно часть POSIX он реализует. Или, раз мы уже всё равно таскаем за собой '[' и 'test' - при нахождении внутри [ ... ] неизвестных операторов - считать, что реализация в *sh устарела и вызывать '/usr/bin/[' с параметрами. > А [ - это всего лишь такая маленькая команда для проверки часто > встречающихся условий. > При этом что в шелле есть логические операции, что в командной строке > test есть логические операции и они РАЗНЫЕ. Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они и в африке AND и OR. И от наличия в каком-то замшелом man'e надписей про "deprectated" - они не зависят. У нас тут бинарная логика, а не квантовые вычисления. PS: Спор то ниочем. Из всех шеллов, которые есть в природе - 95% замшелый шлак, сохраняющий совместимость с тем, что уже давно померло. Да, это наверное круто, что написанный сейчас xdg-open можно запустить на тазике 1992 года выпуска. Только вот нахрена? И что он там сделает?