Shell Scripting - Introduction & Shebang
Índice:
- Diretiva Intérprete Shebang
- Usando Shebang em scripts Bash
- Script de exemplo
- Substituindo o Shebang
- Conclusão
Essa sequência de caracteres (
#!
) É chamada shebang e é usada para informar ao sistema operacional qual intérprete usar para analisar o restante do arquivo.
Diretiva Intérprete Shebang
A diretiva intérprete Shebang assume a seguinte forma:
#!interpreter
- A diretiva deve ser a primeira linha do script. A diretiva deve começar com shebang
#!O espaço em branco após os caracteres shebang é opcional.Interpreter é o caminho completo para um arquivo binário (ex:/bin/sh,/bin/bash).Os argumentos do interpretador são opcionais.
Exemplos:
-
#!/bin/bash- Usa obashpara analisar o arquivo.#!/usr/bin/env perl- Usa o comandoenvpara encontrar o caminho para o executávelperl.#!/usr/bin/pythonExecuta o arquivo usando o bináriopython.
Usando Shebang em scripts Bash
Se um shebang não for especificado e o usuário que estiver executando o script Bash estiver usando outro Shell, o script será analisado por qualquer que seja o interpretador padrão usado por esse Shell. Por exemplo, o intérprete padrão para
bash
é
bash
e para
zsh
é
sh
. Para garantir que seu script sempre seja interpretado com o Bash, você precisará especificar o caminho do executável usando shebang.
Existem duas maneiras de usar a diretiva Shebang e definir o intérprete.
-
Usando o caminho absoluto para o binário bash:
#!/bin/bashUsando o utilitário
env:#!/usr/bin/env bash
A vantagem de usar a segunda abordagem é que ela procurará o executável do
bash
na variável de ambiente
$PATH
do usuário. Se houver mais de um caminho para o
bash
, o primeiro será usado pelo script.
Ao usar a primeira opção para adicionar uma opção ao fornecimento do shell Bash, passe-a para o intérprete. Por exemplo, para executar o script no modo de depuração, você usaria
#!/bin/bash -x
. Se você estiver usando o método
env
, precisará usar
set
para declarar a opção. Para habilitar o modo de depuração, você adicionaria
set -x
após a linha shebang.
Script de exemplo
Vamos criar um script simples usando shebang que imprimirá "Olá, mundo". Abra seu editor de texto e cole a seguinte linha:
nano hello_world
Olá Mundo
#!/bin/bash echo "Hello, World"
Para poder executar o script sem especificar o intérprete na linha de comando, você precisará tornar o arquivo executável:
chmod +x hello_world
Agora, se você pode executar o script digitando
./
seguido pelo nome do script:
./hello_world
Substituindo o Shebang
Se, por algum motivo, você quiser substituir o intérprete definido na linha Shebang, precisará executar o script especificando explicitamente o shell desejado.
Por exemplo, para executar um script que tenha
#!/bin/sh
especificado na linha Shebang usando o shell
bash
, digite:
bash hello_world
Observe que não é uma boa idéia substituir o interpretador de shell, pois isso pode levar a um comportamento inesperado do script.
Conclusão
Até agora você deve ter uma boa compreensão do que é Shebang e como usá-lo em seus scripts Bash.
terminal bashComo executar o Bash no Ubuntu no Windows 10
Ativar o Windows Subsystem para Linux permitirá executar o Bash no Ubuntu no Windows 10, scripts Bash , Ferramentas de linha de comando do Linux, primeiras ferramentas do Linux.
Matrizes Bash
Matrizes são uma das estruturas de dados mais usadas e fundamentais. Neste artigo, abordaremos as matrizes Bash e explicaremos como usá-las nos seus scripts Bash.
Bash para loop
Existem três construções básicas de loop no script Bash, para loop, enquanto loop e até. Neste tutorial, abordaremos o básico dos loops for no Bash, bem como as instruções break e continue para alterar o fluxo de um loop.







