LINUX.ORG.RU

История изменений

Исправление Novascriptum, (текущая версия) :

У меня есть сложный скрипт с кучей параметров, который динамически формирует разные части бинарных данных. И потом эти данные надо куда-то отправить. Я хотел так:

# тут как-то инициируем named_pipe
...
# дальше в коде (это сильное упрощение) вызываем скрипт с разными параметрами, и чтобы они все писали в один и тот же поток
launsh1.sh --parameter1 --parameter2 ...--parameterN &> named_pipe
launch2.sh --parameter1 --parameter2 ...--parameterN &> named_pipe
launch3.sh --parameter1 --parameter2 ...--parameterN &> named_pipe

# в итоге получаем объединённые данные

Варианты объединения результата типа:

{ launch1.sh; launch2.sh; launch3.sh; } | ...

…мне не очень подходят из-за того, что эти запуски происходят в цикле и со сложным конструированием этих самых параметров. Хотел максимально упростить.

Меня в целом-то устраивает тот вариант с 3-им файловым дескриптором в самом первом сообщении, что я привёл. Просто непонятно, почему именованный пайп блокируется. Хотелось разобраться.

Исправление Novascriptum, :

У меня есть сложный скрипт с кучей параметров, который динамически формирует разные части бинарных данных. И потом эти данные надо куда-то отправить. Я хотел так:

# тут как-то инициируем named_pipe
...
# дальше в коде (это сильное упрощение) вызываем скрипт с разными параметрами, и чтобы они все писали в один и тот же поток
launsh1.sh --parameter1 --parameter2 ...--parameterN &> named_pipe
launch2.sh --parameter1 --parameter2 ...--parameterN &> named_pipe
launch3.sh --parameter1 --parameter2 ...--parameterN &> named_pipe

# в итоге получаем объединённые данные

Варианты объединения результата типа:

{ launch1.sh;launch2.sh; launch3.sh; } | ...

…мне не очень подходят из-за того, что эти запуски происходят в цикле и со сложным конструированием этих самых параметров. Хотел максимально упростить.

Меня в целом-то устраивает тот вариант с 3-им файловым дескриптором в самом первом сообщении, что я привёл. Просто непонятно, почему именованный пайп блокируется. Хотелось разобраться.

Исправление Novascriptum, :

У меня есть сложный скрипт с кучей параметров, который динамически формирует разные части бинарных данных. И потом эти данные надо куда-то отправить. Я хотел так:

# тут как-то инициируем named_pipe
...
# дальше в коде (это сильное упрощение) вызываем скрипт с разными параметрами, и чтобы они все писали в один и тот же поток
launsh1.sh --parameter1 --parameter2 ...--parameterN &> named_pipe
launch2.sh --parameter1 --parameter2 ...--parameterN &> named_pipe
launch3.sh --parameter1 --parameter2 ...--parameterN &> named_pipe

# в итоге получаем объединённые данные

Варианты объединения результата типа:

{ launch1.sh;launch2.sh; launch3.sh } | ...

…мне не очень подходят из-за того, что эти запуски происходят в цикле и со сложным конструированием этих самых параметров. Хотел максимально упростить.

Меня в целом-то устраивает тот вариант с 3-им файловым дескриптором в самом первом сообщении, что я привёл. Просто непонятно, почему именованный пайп блокируется. Хотелось разобраться.

Исходная версия Novascriptum, :

У меня есть сложный скрипт с кучей параметров, который динамически формирует разные части бинарных данных. И потом эти данные надо куда-то отправить. Я хотел так:

# тут как-то инициируем named_pipe
...
# дальше в коде (это сильное упрощение) вызываем скрипт с разными параметрами, и чтобы они все писали в один и тот же поток
launsh1.sh --parameter1 --parameter2 ...--parameterN &> named_pipe
launch2.sh --parameter1 --parameter2 ...--parameterN &> named_pipe
launch3.sh --parameter1 --parameter2 ...--parameterN &> named_pipe

# в итоге получаем объединённые данные

Варианты объединения результата типа:

{ launch1.sh;launch2.sh; launch3.sh } | ...

…мне не очень подходят из-за того, что эти запуски происходят в цикле и со сложным конструированием этих самых параметров. Хотел максимально упростить.