Introdução ao Bash Scripting
Alex Scriven
Data Scientist
Em scripts Bash, há três "streams" do seu programa:
Por padrão, esses streams vêm do terminal e escrevem nele.
Você pode ver 2> /dev/null em chamadas de script; redireciona o STDERR para ser descartado. (1> /dev/null seria o STDOUT)
Aqui está uma representação gráfica dos streams padrão, usando o pipeline criado antes:

Considere um arquivo de texto (sports.txt) com 3 linhas.
football
basketball
swimming
O comando cat sports.txt 1> new_sports.txt é um exemplo de ler dados do arquivo e gravar o STDOUT em um novo arquivo. Veja o que acontece se você rodar cat new_sports.txt
football
basketball
swimming
Um conceito-chave em Bash é argumentos
Scripts Bash podem receber argumentos para uso interno, adicionando um espaço após a chamada de execução do script.
$. O primeiro é $1, o segundo é $2 etc.$@ e $* retornam todos os argumentos em ARGV$# retorna a quantidade de argumentosConsidere um script de exemplo (args.sh):
#!/usr/bash
echo $1
echo $2
echo $@
echo "There are " $# "arguments"
Agora executando bash args.sh one two three four five
one
two
one two three four five
There are 5 arguments
#!/usr/bash
echo $1
echo $2
echo $@
echo "There are " $# "arguments"
Introdução ao Bash Scripting