pipes na linha de comando do linux [duplicate]

0

Considere o seguinte comando:

echo ’.dump’ | sqlite bacula.db > bacula.sq

O que está fazendo e o que faz | ?

Talvez alguém possa me indicar um manual sobre tubulação ou explicar o que está acontecendo. Obrigado.

    
por andrej 15.03.2016 / 09:01

3 respostas

1

O operador de pipe da shell | torna a saída padrão para um comando a entrada padrão para o próximo comando, sem criar um arquivo intermediário.

Você pode encontrar informações detalhadas explicadas de forma simples nas seguintes fontes:

por 15.03.2016 / 09:11
1

Esse comando grava a string que consiste nos sete caracteres ’.dump’ seguidos por um caractere de nova linha no comando sqlite . (Isso é 12 bytes no total.)

O comando sqlite não entenderá a instrução e não gravará nada no arquivo de destino bacula.sq , reportando Error: incomplete SQL: ’.dump’ para stderr .

Talvez você quisesse dizer isso, que usa caracteres de aspas simples ' em vez de marcas de apóstrofo :

echo '.dump' | sqlite bacula.db > bacula.sq
    
por 15.03.2016 / 09:55
1

| é um operador de pipeline no Unix / Linux. Pode ser usado onde a saída do primeiro comando pode ser usada como entrada para o segundo comando.

Por exemplo:

ls -l | less mostrará a lista longa de seus arquivos no diretório. O comando less pega a saída de ls -l como entrada e exibe a lista de arquivos em que você rola para cima / para baixo e os vê.

    
por 15.03.2016 / 09:41

Tags