O que significa " | " numa linha de comando terminal? [fechado]
desculpe por postá-lo aqui, mas o Google faz um trabalho muito ruim ao procurar por símbolos.
O que significa " | " em:
"some string" | someexecutable.py
21
Author: Jonathan Leffler, 2012-09-13
3 answers
É o símbolo do tubo. Separa dois programas numa linha de comando (Ver
Pipelines
no manual bash
, e a saída padrão do primeiro programa (no LHS do tubo) é conectada à entrada padrão do segundo programa (no RHS do tubo).
Por exemplo:
who | wc -l
Dá-lhe uma contagem do número de pessoas ou sessões ligadas ao seu computador (mais uma para a linha de cabeçalho de who
). Para descartar o cabeçalho linha:
who | sed 1d | wc -l
A entrada para sed
vem de who
, e a saída de sed
vai para wc
.
Subjacente chamada de sistema é pipe(2)
usado em conjunto com fork()
, dup2()
e o exec*()
chamadas de sistema.
21
Author: Jonathan Leffler, 2012-09-13 06:27:43
Chama-se
pipe
. Ele dá o stdout do primeiro comando ("some string"
) como o stdin para o segundo comando (someexecutable.py
).
7
Author: P.P., 2018-04-20 16:54:10
| é um tubo. Ele envia a saída de um comando como entrada do próximo. É explicado aqui http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-103-4/#3-pipes
4
Author: mehulved, 2012-09-13 06:16:18