On Thu, 26 Sep 2019 16:14:50 +0300 (MSK) yuri.nefe...@gmail.com wrote: > On Thu, 26 Sep 2019, Victor Wagner wrote: > > > On Wed, 25 Sep 2019 23:49:53 +0300 (MSK) > > yuri.nefe...@gmail.com wrote: > > > >> # wait for the window > >> while [ $(wmctrl -l | grep --count "Mozilla Firefox") -lt 1 ]; do > >> sleep .5s > > > > А почему такой сложный способ проверки > > почему не просто > > > > until wmctrl -l |grep -q "Mozilla Firefox"; do > > > Не помню, скрипт старый. Скорее всего просто не додумался. > Да и вывод wmctrl не такой длинный что бы на grep экономить.
Тут мы не на grep экономим, а на test. В смысле на команде "квадратая скобка". После найденного мной бага #931822 мне очень хочется у тех, кто не понимает что такое команда квадратная скобка, в чем ее отличие от пайплайна и как с этим соотносятся шелловские управляющие конструкции, отрывать клавиатуру и обрекать на пожизненное пользование виндами c одной только мышью. > Кстати, grep -q exit with zero status if any match is found, > так что, все равно пришлось бы думать :) grep с любыми параметрами завершается с нулем, если найдено. Поэтому while заменено на until. Экспериментировать куда надо вставить восклицательный знак, чтобы инвертировать статус второй команды в пайплайне, и работает ли это во всех шеллах, или только некоторых, мне было лень. А думать оно да, полезно. > Ю.