Shebang Bash explicou com exemplos

Shebang Bash explicou com exemplos
Bash é um intérprete de linguagem de comando. Muitos sistemas operacionais incorporam o Bash como o intérprete de comando padrão, especialmente a maioria dos sistemas GNU/Linux. Bash Script é um método para automatizar um conjunto de comandos que, de outra forma, seriam executados interativamente um a um.

Neste guia, confira o que é o shebang bash e como usá -lo.

Shebang Bash:

Na script de bash, Shebang é uma maneira de declarar qual intérprete o sistema operacional usará para analisar o restante do arquivo. O shebang é caracterizado pelo conjunto de personagens “#!”(Sem cotações).

Aqui está um rápido colapso da diretiva de intérprete Shebang.

#! [Argumentos]

Por exemplo, se um script deve ser analisado usando o shell de bash, então a diretiva de intérprete de shebang ficaria assim.

#!/BIN/BASH

A diretiva de intérprete Shebang tem certas propriedades.

  • Deve ser a primeira linha do script.
  • Deve começar com um shebang (#!).
  • Pode ou não haver espaço em branco depois do shebang (#!).
  • O intérprete será o caminho completo para um arquivo binário.
  • Pode ou não haver argumentos de intérprete.

Aqui está uma lista restrita de algumas das diretivas mais comuns de intérpretes de shebang.

  • #!/bin/bash: o script será analisado usando Bash.
  • #!/usr/bin/python: o script será analisado usando o Pitão binário.
  • #!/usr/bin/Env Perl: o script será analisado usando o perl executável. A localização do perl executável será fornecido pelo Env comando.

Usando o Shebang Bash:

Scripts não podem ter uma festa de shebang. Qualquer script será analisado usando o intérprete padrão. Por exemplo, Bash é o intérprete padrão de Bash e SH para ZSH. Enquanto a maioria dos sistemas UNIX/Linux tem o Bash como padrão, os usuários têm opções para usar outros. Nesse cenário, sem declarar o intérprete, o script pode não executar sua tarefa preferida.

Existem dois métodos para usar a diretiva Shebang para declarar o intérprete. O primeiro é declarar o caminho do arquivo para o executável.

#!/BIN/BASH

Outro método é usar o Env utilidade para localizar o executável.

#!/usr/bin/Env Bash

O benefício de usar o utilitário Env. Neste exemplo, Env procurará a festa. Se houver mais de um executável bash declarado na variável $ path, então o primeiro será usado.

Como mencionado, Shebang Bash também suporta argumentos executáveis. Por exemplo, para usar o Bash With Debug Mode, a diretiva de intérprete Shebang ficaria assim.

#!/bin/bash -x

Quando se trata de usar Env Para a festa de shebang, adicionar um argumento executável requer o uso da opção "set". Por exemplo, o seguinte usará o Bash com o modo de depuração ativado.

#!/usr/bin/Env Bash
$ set -x

Exemplo de script:

Discutimos o básico de Shebang Bash. É hora de colocar em prática. Vamos dar uma olhada na implementação do shebang bash.

Inicie o editor de texto de sua escolha e digite o seguinte script:

$ #!/bin/sh
$ echo "hello_world_bash"

Salve o arquivo. Para executar o script, ele deve ser marcado como um executável. Execute o seguinte comando:

$ chmod +xx

Execute o script:

$ .//

Não é muito difícil, certo? Agora, vamos tentar usar as diferentes expressões Bash Shebang. Experimente os dados abaixo:

$ #!/usr/bin/Env Bash
$ set -x
$ echo "hello_world_bash_debug"

Substituindo a festa de Shebang:

Enquanto o shebang bash define o intérprete a usar, em determinadas situações, você pode querer usar um intérprete diferente. É possível substituir o intérprete definido pelo script especificando explicitamente o intérprete ao shell.

Por exemplo, dê uma olhada no seguinte script:

$ #!/bin/sh
$ echo "hello_world_sh"

Por padrão, seria executado usando sh. Para executá -lo usando Bash, use o seguinte método:

$

Observe que, para casos de uso normal, apenas usando o padrão sh ou Bash O intérprete é bom o suficiente e a substituição não é relevante.

Pensamentos finais:

Shebang Bash é um conceito muito simples. Para scripts de bash, é muito importante entender e implementá -lo.

Interessado mais em scripts de basquete? Confira este guia para iniciantes sobre como escrever um script simples.

Computação feliz!