Perguntas sobre 'process-substitution'

4
respostas

Substituição e tubulação do processo

Eu queria saber como entender o seguinte: Piping the stdout of a command into the stdin of another is a powerful technique. But, what if you need to pipe the stdout of multiple commands? This is where process substitution comes in. E...
21.07.2011 / 05:59
2
respostas

Por que o processo de substituição resulta em um arquivo chamado / dev / fd / 63 que é um pipe?

Estou tentando entender os pipes nomeados no contexto desse exemplo específico. Eu digito <(ls -l) no meu terminal e obtenho a saída como bash: /dev/fd/63: Permission denied . Se eu digitar cat <(ls -l) , eu poderia ver o cont...
17.09.2014 / 20:17
2
respostas

Por que 'sort (ls -l)' funciona, mas 'sort (ls -l)' falha?

Hoje estou aprendendo algo sobre o fifo com este artigo: Introdução aos pipes nomeados , que menciona cat <(ls -l) . Eu fiz alguns experimentos usando sort < (ls -l) , que mostra um erro: -bash: syntax error near unexpected toke...
11.09.2015 / 13:03
1
resposta

Por que a substituição do processo BASH não funciona com alguns comandos?

Ocasionalmente, a substituição do processo não funcionará como esperado. Aqui está um exemplo: Entrada: gcc <(echo 'int main(){return 0;}') Saída: /dev/fd/63: file not recognized: Illegal seek collect2: error: ld returned 1 exit...
25.10.2014 / 02:00
1
resposta

Qual é a maneira portátil (POSIX) de conseguir a substituição do processo?

Algumas conchas, como bash , suportam Substituição de processos , que é uma maneira de apresentar a saída do processo como um arquivo, assim: $ diff <(sort file1) <(sort file2) No entanto, essa construção não é POSIX e, portant...
13.09.2016 / 11:34
1
resposta

Em zsh, diferença entre cat (cat) vs cat | gato vs gato = (gato)?

Eu esperava que cat <(cat) e cat | cat fizessem o mesmo: copiar linhas de stdin para stdout. Meu entendimento era que ambos executariam um cat em um subshell, redirecionariam o stdout do subshell cat para um pipe nomeado temporári...
27.07.2012 / 03:15
2
respostas

bash: como propagar erros na substituição de processos?

Eu quero que meus scripts de shell falhem sempre que um comando executado com eles falhar. Geralmente faço isso com: set -e set -o pipefail (normalmente adiciono set -u também) O problema é que nenhum dos itens acima funciona com...
22.07.2015 / 14:30
2
respostas

A saída de substituição do processo está fora da ordem

O echo one; echo two > >(cat); echo three; O comando fornece resultados inesperados. Eu li isso: Como a substituição do processo é implementada no bash? e muitos outros artigos sobre a substituição do processo no internet, mas...
10.11.2017 / 17:47
2
respostas

Bash: substituição de processo e stdin

A seguinte linha é óbvia: echo "bla" | foo | bar Mas os que estão abaixo fazem o mesmo? echo "bla" | bar <(foo) echo "bla" | bar < <(foo) Qual dos foo e bar leu "bla" de stdin e por quê? Quero dizer que, é claro,...
05.09.2014 / 10:25
1
resposta

Por que o processo de substituição () não funciona com ssh -F?

Eu tenho algumas máquinas virtuais vagabundas. Para entrar neles eu emito o comando vagrant ssh . Eu quero fazer o log-in usando o comando regular ssh . O vagrant ssh-config gera o arquivo de configuração adequado $ vagrant ssh-config...
20.11.2013 / 11:50