mirror of
https://github.com/tldr-pages/tldr.git
synced 2025-04-29 23:24:55 +02:00
coproc: add page (#9636)
* coproc: add page * Fix formatting errors * Fix formatting errors * Update pages/common/coproc.md * Update pages/common/coproc.md * Update pages/common/coproc.md * Update pages/common/coproc.md * Update pages/common/coproc.md * Update pages/common/coproc.md * Fix phrasing and formatting * Change capitalisation
This commit is contained in:
parent
b74e8af584
commit
7780e9d87d
2 changed files with 60 additions and 0 deletions
28
pages/common/coproc.md
Normal file
28
pages/common/coproc.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
# coproc
|
||||
|
||||
> Bash builtin for creating interactive asynchronous subshells.
|
||||
> More information: <https://www.gnu.org/software/bash/manual/bash.html#Coprocesses>.
|
||||
|
||||
- Run a subshell asynchronously:
|
||||
|
||||
`coproc { {{command1; command2; ...}}; }`
|
||||
|
||||
- Create a coprocess with a specific name:
|
||||
|
||||
`coproc {{name}} { {{command1; command2; ...}}; }`
|
||||
|
||||
- Write to a specific coprocess `stdin`:
|
||||
|
||||
`echo "{{input}}" >&"${{{name}}[1]}"`
|
||||
|
||||
- Read from a specific coprocess `stdout`:
|
||||
|
||||
`read {{variable}} <&"${{{name}}[0]}"`
|
||||
|
||||
- Create a coprocess which repeatedly reads `stdin` and runs some commands on the input:
|
||||
|
||||
`coproc {{name}} { while read line; do {{command1; command2; ...}}; done }`
|
||||
|
||||
- Create and use a coprocess running `bc`:
|
||||
|
||||
`coproc BC { bc --mathlib; }; echo "1/3" >&"${BC[1]}"; read output <&"${BC[0]}"; echo "$output"`
|
32
pages/linux/coproc.md
Normal file
32
pages/linux/coproc.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# coproc
|
||||
|
||||
> Bash builtin for creating interactive asynchronous subshells.
|
||||
> More information: <https://www.gnu.org/software/bash/manual/bash.html#Coprocesses>.
|
||||
|
||||
- Run a subshell asynchronously:
|
||||
|
||||
`coproc { {{command1; command2; ...}}; }`
|
||||
|
||||
- Create a coprocess with a specific name:
|
||||
|
||||
`coproc {{name}} { {{command1; command2; ...}}; }`
|
||||
|
||||
- Write to a specific coprocess `stdin`:
|
||||
|
||||
`echo "{{input}}" >&"${{{name}}[1]}"`
|
||||
|
||||
- Read from a specific coprocess `stdout`:
|
||||
|
||||
`read {{variable}} <&"${{{name}}[0]}"`
|
||||
|
||||
- Create a coprocess which repeatedly reads `stdin` and runs some commands on the input:
|
||||
|
||||
`coproc {{name}} { while read line; do {{command1; command2; ...}}; done }`
|
||||
|
||||
- Create a coprocess which repeatedly reads `stdin`, runs a pipeline on the input, and writes the output to `stdout`:
|
||||
|
||||
`coproc {{name}} { while read line; do echo "$line" | {{command1 | command2 | ...}} | cat /dev/fd/0; done }`
|
||||
|
||||
- Create and use a coprocess running `bc`:
|
||||
|
||||
`coproc BC { bc --mathlib; }; echo "1/3" >&"${BC[1]}"; read output <&"${BC[0]}"; echo "$output"`
|
Loading…
Add table
Reference in a new issue