coproc.md 1.1 KB

coproc

Bash ingebouwd commando voor het maken van interactieve asynchrone subshells. Meer informatie: https://www.gnu.org/software/bash/manual/bash.html#Coprocesses.

  • Voer een subshell asynchroon uit:

coproc { {{commando1; commando2; ...}}; }

  • Maak een coprocess met een specifieke naam:

coproc {{naam}} { {{commando1; commando2; ...}}; }

  • Schrijf naar de stdin van een specifiek coprocess:

echo "{{invoer}}" >&"${{{naam}}[1]}"

  • Lees van de stdout van een specifiek coprocess:

read {{variabele}} <&"${{{naam}}[0]}"

  • Maak een coprocess dat herhaaldelijk stdin leest en opdrachten op de invoer uitvoert:

coproc {{naam}} { while read line; do {{commando1; commando2; ...}}; done }

  • Maak een coprocess dat herhaaldelijk stdin leest, een pipeline uitvoert op de invoer, en de uitvoer naar stdout schrijft:

coproc {{naam}} { while read line; do echo "$line" | {{commando1 | commando2 | ...}} | cat /dev/fd/0; done }

  • Maak en gebruik een coprocess dat bc uitvoert:

coproc BC { bc --mathlib; }; echo "1/3" >&"${BC[1]}"; read output <&"${BC[0]}"; echo "$output"