[make-initrd] Fwd: [#269003] TESTED make-initrd.git=2.14.1-alt1

Leonid Krivoshein klark.devel at gmail.com
Wed Apr 7 02:59:23 MSK 2021


06.04.2021 22:05, Alexey Gladkov пишет:
> [...]
> Ты мне хочешь показать на bash, что не вписывается в парадигму ?! ))
> Может лучше всё-таки словами ? )))

На пальцах объяснять дольше получается, на баше лаконичней выходит -- 
см. ниже...


> [...]
>> } </dev/console >/dev/console 2>&1
>>
>> потому что interactive_off() делать и сам pipeline должен в идеале, если на
>> выходе этого не сделано в шаге.
> Каждый шаг это отдельная программа. Если ты переоткроешь дескрипторы, то
> он будут открыты только для этого шага.

interactive_on()
{
   :> /.initrd/interactive
   exec </dev/console >/dev/console 2>&1
}

interactive_off()
{
   rm -f /.initrd/interactive
   exec </dev/null >/var/log/pipelined.log 2>&1
}

DLG в описании шага -- аналогичен PASS, но можно открывать интерактивное 
выполнение до запуска скрипта с шагом и не отключать его после, если 
следующий шаг описан тоже как DLG. Конечно, отключать его во всех 
остальных случаях при завершении шага, поскольку дескрипторы открыты в 
цикле верхнего уровня.

Понятно, что использовать перенаправление руками всегда можно, но надо 
ещё въехать в твой код, куда, когда и чего перенаправляется. Тут ещё 
появляется возможность учитывать диалоги при построении параллельно 
работающих цепочек, я-то привёл упрощённую реализацию.


-- 
Best regards,
Leonid Krivoshein.



More information about the Make-initrd mailing list