For example
echo "aaa" |& cat
What does |&
mean here?
Is there a website recommended to look up those? Since most search engines can't support searching special characters.
For example
echo "aaa" |& cat
What does |&
mean here?
Is there a website recommended to look up those? Since most search engines can't support searching special characters.
From man 1 bash
, section Pipelines:
[time [-p]] [ ! ] command [ [|⎪|&] command2 ... ]
If |& is used,
command
's standard error, in addition to its standard output, is connected tocommand2
's standard input through the pipe
So it is just like the pipe operator |
, but piping both standard output and standard error.
If ‘|&’ is used, command1’s standard error, in addition to its standard output, is connected to command2’s standard input through the pipe; it is shorthand for 2>&1 |.
–
Cyclostyle |&
isn't widely supported and you are better off using 2>&1 |
for greater shell support across different platforms and different Linux distributions. –
Heuer This operator pipes both standard output and standard error from the left hand side to the right hand side.
The Bash reference manual has a comprehensive index of all operators where you can look up these operators.
If |&
is used,
command_1’s standard error, in addition to it's standard output, is connected to command_2’s standard input through the pipe;
it is shorthand for 2>&1 |
.
This implicit redirection of the standard error to the standard output is performed after any redirections specified by the command.
command1 |& command2
equal command1 2>&1 | command2
© 2022 - 2024 — McMap. All rights reserved.
echo "aaa" |& cat
may lead to-bash: syntax error near unexpected token `&'
ifbash --version
isGNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
. – Heedless