Záleží na tom, jak robustní řešení chcete. Jestli ty příkazy pořád budete spouštět ručně a pohlídáte si konkurenční přístup, nebo jestli to má být součástí nějakého automatizovaného řešení. V tom druhém případě byste musel vyřešit, aby s jednou instancí aplikace v jednu chvíli komunikoval jenom jeden klient – a to podle mne nevyřešíte jen na úrovni rour, musela by tam být nějaká logika, která pozná, kdy byl jeden příkaz dokončen a může být odeslán další příkaz.
Pokud stačí ta první varianta, měly by stačit dvě pojmenované roury vytvořené přes mkfifo. Jednu napojíte na vstup vaší aplikace – co pošlete do roury, objeví se na vstupu aplikace. Druhou napojíte na výstup té aplikace a k té rouře se připojíte, když budete chtít číst výstup té aplikace. Zhruba takhle nějak:
mkfifo app_in
mkfifo app_out
aplikace < app_in > app_out
echo -e 'CONNECT\n' > app_in
cat < app_out
echo -e 'SHOW STATUS\n' > app_in
cat < app_out
Ten výpis výstupu samozřejmě budete vždy muset přerušit, když budete mít pocit, že už se vypsalo všechno.