Introdução ao Bash Script - Linux
Um Bash script ou shell script é um arquivo de texto que contém uma sequência de comandos. Basicamente, qualquer coisa que possa executar vários comandos pode ser considerada um shell script.
Vamos criar um shell script simples. Para isso, vamos criar um arquivo de texto comum no diretório home, que chamaremos de hello
programicio@Programicio:~$ touch hello
Ao escolher o nome do script, é importante garantir que ele seja único. Não deve haver comandos com o mesmo nome, caso contrário, o comando será executado em vez do shell script (a menos que você adicione o prefixo ./
hello
which hello
hello
Após criar o arquivo hello
nano hello
#!/bin/bash
# script que exibe no console a mensagem "hello www.programicio.com"
# para executar, vá para o diretório do script e digite o comando ./hello
echo hello www.programicio.com
exit 0
Vamos analisar o script. Na primeira linha do script, temos o shebang:
#!/bin/bash
Esse elemento informa ao shell qual subshell deve ser usada para executar o script. O shebang sempre começa com #!
/bin/bash
/bin/bash
Após o shebang, temos duas linhas de comentário:
# script que exibe no console a mensagem "hello www.programicio.com"
# para executar, vá para o diretório do script e digite o comando ./hello
Comentários começam com o símbolo #
#
#!
Depois dos comentários, temos os comandos que serão executados:
echo hello www.programicio.com
exit 0
O comando echo
hello www.programicio.com
exit 0
Executando o Script
Existem várias maneiras de executar um shell script. Aqui estão algumas delas:
Tornar o script executável e executá-lo como um programa comum
Executar o script como argumento do programa
bash
Incluir o script na shell atual
Tornando o Script Executável
Vamos usar o primeiro método e executar nosso script hello
programicio@Programicio:~$ chmod +x hello programicio@Programicio:~$ ./hello hello www.programicio.com
Nesse caso, o comando chmod +x hello
Executando o Script como Argumento do Bash
No segundo método, passamos o script como argumento para o comando bash
programicio@Programicio:~$ bash hello hello www.programicio.com
Incluindo o Script na Shell Atual
O terceiro método envolve incluir o script na shell atual. Isso pode ser útil se o script contiver variáveis que precisam estar ativas na shell atual. Existem duas maneiras de chamar o script dessa forma:
. nome_do_script
ou
source nome_do_script
Note que, se o script usar o comando exit para terminar, ele fechará a shell atual. Portanto, comente a última linha do script:
E chame o script usando um dos métodos:
programicio@Programicio:~$ . hello hello www.programicio.com programicio@Programicio:~$ source hello hello www.programicio.com