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...
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...
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...
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...
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...
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...
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...
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...
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,...
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...