Existem 2 maneiras de "encadear" programas juntos. Se você está tentando agrupá-los para que a saída do primeiro seja passada para o segundo, então você está procurando usar o que é chamado de pipe. O outro método simplesmente executa um programa após o outro.
exemplo de tubos
Aqui estamos pegando a saída do primeiro comando e passando por um pipe, ( |
) para um segundo comando.
$ echo "output from 1" | grep 1
output from 1
A saída está sendo exibida na tela pelo comando grep
.
comandos no exemplo de série
Aqui estamos executando um comando seguido por outro.
Exemplo
#!/bin/bash
echo 1
echo 2
Coloque o acima em um arquivo chamado mycmds.bash
, torne-o executável e execute-o:
$ chmod +x mycmds.bash
$ ./mycmds.bash
1
2
Você também pode fazer uso do subshells se quiser, para executar uma série de comandos no prompt, e capturar sua saída para um arquivo. Isso executará os comandos da mesma maneira que o método de script de shell acima.
Exemplo
apenas executando comandos
$ (echo 1; echo 2; echo 3)
1
2
3
capturando sua saída
$ (echo 1; echo 2; echo 3) | grep 3
3
capturando sua saída para um arquivo
$ (echo 1; echo 2; echo 3) | tee mycmds.log
1
2
3
$ cat mycmds.log
1
2
3