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 ./ antes do nome do script). Neste exemplo, chamei o script de hello porque não há comandos com esse nome no meu sistema. Para garantir a unicidade do nome, você pode usar o comando which hello, que tentará encontrar a localização do arquivo de comando hello, se ele existir.

Após criar o arquivo hello, defina o seguinte conteúdo nele(isso pode ser feito com o comando: 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 #!, seguido pelo caminho da subshell. No exemplo acima, usamos /bin/bash, mas poderia ser qualquer outra shell. Em princípio, o script pode não incluir o shebang e, em muitos casos, ainda funcionará. No entanto, se o usuário tentar executar o script sem o shebang em uma shell diferente de /bin/bash, provavelmente haverá falha. Portanto, é melhor sempre adicionar o shebang.

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 #. Eles não são executados e servem apenas para dar ao leitor uma ideia do que o script ou suas linhas individuais fazem. Vale notar que a linha com o shebang também começa com #, mas como é a primeira linha e é seguida por #!, o sistema interpreta a linha como shebang, não como um comentário.

Depois dos comentários, temos os comandos que serão executados:

echo hello www.programicio.com
exit 0

O comando echo exibe a mensagem hello www.programicio.com no console. O comando exit 0 encerra a execução do script com o código de saída 0. O código de saída é um valor que o script retorna ao sistema operacional após a conclusão. O valor 0 indica que o script foi executado com sucesso. Se o script falhar, o valor de saída será diferente de 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 como uma aplicação executável:

programicio@Programicio:~$ chmod +x hello
programicio@Programicio:~$ ./hello
hello www.programicio.com

Nesse caso, o comando chmod +x hello torna o script executável.

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
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com