diff --git a/pages.nl/common/coproc.md b/pages.nl/common/coproc.md new file mode 100644 index 0000000000..a02ba97821 --- /dev/null +++ b/pages.nl/common/coproc.md @@ -0,0 +1,28 @@ +# coproc + +> Bash ingebouwd commando voor het maken van interactieve asynchrone subshells. +> Meer informatie: . + +- 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 en gebruik een coprocess dat `bc` uitvoert: + +`coproc BC { bc --mathlib; }; echo "1/3" >&"${BC[1]}"; read output <&"${BC[0]}"; echo "$output"` diff --git a/pages.nl/linux/coproc.md b/pages.nl/linux/coproc.md new file mode 100644 index 0000000000..5ee2df06c8 --- /dev/null +++ b/pages.nl/linux/coproc.md @@ -0,0 +1,32 @@ +# coproc + +> Bash ingebouwd commando voor het maken van interactieve asynchrone subshells. +> Meer informatie: . + +- 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"`