Хорошо, я не являюсь баху-гуру и нуждаюсь в одном!Как использовать «coproc» для взаимодействия с другой управляемой командой программой
Я никогда раньше не использовал «coproc», но, похоже, это именно то, что мне нужно. Но я должен признать, что я не могу экстраполироваться из различных примеров «пинга»! [Я пробовал пару часов ...]
Все, что я хочу сделать, это запустить скрипт оболочки «coproc», который может принимать входные данные из стандартного входа и записывать его результаты в стандартную версию. Я хочу, чтобы основной скрипт выполнял отправку и обработку этих команд и результатов соответственно.
Вот один из самых простых очертаний, что я пытаюсь сделать: EDITED С ЛУЧШИМ ПОДРОБНОЕ
#! /bin/bash
coproc bkgndProc {
/some/path/to/usefulScript.sh maybeSomeArgsHere
}
// send command #1 to bkgndProc here
result=$(echo 'command' <&${bkgndProc[0]}) ### Doesn't work for me
echo "Did it work? $result" ### this just prints back the 'command' I used
// here execute conditional logic based on result:
// if result1; then
// send command #2 here, getting results
// else
// send command #3 here, again getting results
// fi
К сожалению об использовании псевдо-код, приведенный выше, но я не уверен, что те, отправка команды должны быть! Если кто-то может предоставить детали, которые будут очень признательны!
Хорошо, но у меня не было этого пробела в фактическом коде, который я пробовал. Отредактировал сообщение и очистил его. – JoeG
@JoeG вот почему вы должны показать нам реальный код ... –
@JoeG Пожалуйста, посмотрите мои примеры. Я сделал обновления. – konsolebox