Bash

Da Wikipédia, a enciclopédia livre.
Ir para a navegação Ir para a pesquisa
Bash
Programas
Logotipo
Captura de tela de uma sessão BASH simples no Gentoo GNU / Linux
Captura de tela de uma sessão BASH simples no Gentoo GNU / Linux
Modelo Concha
Desenvolvedor Chet Ramey
Data da primeira versão 8 de junho de 1989
Última versão 5.1.8 (4 de maio de 2021)
Sistema operacional Multi plataforma
Língua C.
Licença GNU GPL v3 +
( licença gratuita )
Local na rede Internet www.gnu.org/software/bash/
Bash
linguagem de programação
Gnu-bash-logo.svg
Autor Chet Ramey , Brian Fox
Data de origem 1989
Última versão 5.1.8 (4 de maio de 2021)
Uso script do sistema
Paradigmas programação procedural
Digitando fraco
Influenciado por ALGOL 68, Bourne concha , C concha e Korn
Implementação de referência
Licença GNU GPL v3 +
Local na rede Internet www.gnu.org/software/bash/

Bash ( acrónimo para b ourne um sh ell ganho) é um shell textual do GNU projeto usado em Unix e Unix-like que operam sistemas , como o GNU / Linux . Em MacOS que era o padrão desembolsar até MacOS Mojave , enquanto a partir de MacOS Catalina em diante ele ainda está presente, mas não mais como padrão [1] . Bash também está disponível para Microsoft Windows sistemas (ver, por exemplo Cygwin e msys / msys2 bash).

Também chamado de Bourne shell após a sua autor original Stephen Bourne , a expansão da sigla bash, Bourne again shell, significa literalmente outro shell Bourne, mas Bourne novamente tem a mesma pronúncia como nascer de novo, ou seja, renasce criar o renascer última shell definição.

Descrição

Recursos

Tecnicamente, festa é um clone avançado da concha Unix padrão (/ bin / sh). Outros conchas populares e alternativas para o bash são o shell Korn , o C shell , Zsh, e tcsh .

É um comando intérprete que permite ao usuário se comunicar com o sistema operacional através de uma série de pré-definidas funções , ou para executar programas e scripts.

Bash é capaz de executar os comandos que são passados para ele, usando a entrada e saída de redirecionamento para executar vários programas em cascata em um pipeline de software , passando a saída do comando anterior como a entrada do próximo comando.

Além disso, ele fornece um nativo simples linguagem de script que permite executar tarefas mais complexas, não só através da recolha de uma série de comandos em um roteiro , mas também usando variáveis , funções e fluxo de estruturas de controle .

Bash e o padrão POSIX

Difere do comportamento padrão do Bash de que o POSIX padrão, mas pode ser alcançado de quatro maneiras:

  • especificando o " --posix opção" na inicialização, por exemplo, com " bash --posix ";
  • invocando-a com o nome de " sh ", como é o caso em muitas GNU / Linux sistemas onde " /bin/sh " é um link simbólico para " /bin/bash ";
  • iniciando-o depois de definir o POSIXLY_CORRECT [2] ambiente POSIXLY_CORRECT com qualquer valor;
  • executando o "interno comando set -o posix " [3] nele .

Arquivos lidos na inicialização

Na inicialização, tentativas festança para carregar automaticamente uma série de arquivos:

  • se é um login do shell, o bash tenta carga:
    1. o " /etc/profile " file
    2. apenas o primeiro dos arquivos " .bash_profile ", " .bash_login " e " .profile " localizado no usuário diretório home e que parece estar disponível;
    3. o " .bashrc arquivo" localizado no diretório home do usuário;

Ao sair de um shell de login interativo, cargas festança do .bash_logout arquivo localizado na home do usuário (se disponível).

  • se é um shell não login interativo, tentativas festança para carregar apenas o " .bashrc arquivo" localizado no diretório home do usuário;

O usuário pode modificar os arquivos em seu diretório home para personalizar o seu ambiente de trabalho.

Quando o bash é iniciado de forma não interativa (por exemplo, para executar um shell script de ) ele verifica se a variável de ambiente BASH_ENV ou ENV BASH_ENV e se assim ele carrega o arquivo especificado pelo valor da variável (se o bash é iniciado no POSIX modo que só controlos ENV ). Em seguida, ele executa o resto (script ou outro).

Exemplos explicativos

O seguinte roteiro permite que você crie um arquivo em " /tmp/my-backup.tar.gz " contendo sua pasta pessoal inteira (tendo em conta que " ~ " representa " /home/ proprionomeutente "):

 #! / bin / bash
tar -vzcf /tmp/home.tgz ~

Outro exemplo do Debian sistemas baseados é ser capaz de atualizar e limpar o sistema com o seguinte script:

 #! / bin / bash
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoclean
sudo apt-get clean

Ao criar um arquivo com o conteúdo acima em um dos diretórios listados pela $PATH ambiente $PATH e atribuindo-lhe as permissões de execução, você pode obter um utilitário prático e simples que pode ser utilizado como qualquer outro arquivo executável .

Estruturas condicionais

Compara se os arquivos " file_a " e " file_b " são idênticos usando o CMP comando ( redirecionando a saída padrão e erro padrão para / dev / null , a fim de esconder suas mensagens), e escreve o resultado:

 #! / bin / bash
se cmp file_a file_b &> / dev / null; então 
   echo "Arquivos a e b são idênticos."
outro 
   echo "Arquivos a e b são diferentes."
fi

Verifique se o " prova.txt arquivo" existe e escrever uma mensagem sobre o assunto:

 #! / bin / bash
se [text.txt -f]; então 
    echo "O arquivo test.txt existe."
outro 
    echo "O arquivo test.txt não existe ou não é um arquivo"
fi

Ele pede uma linha de entrada e exibe uma mensagem com base no conteúdo:

 #! / bin / bash

echo "Tipo de algo e pressione Enter:"
linha de leitura

case "$ line" em
    um)
        echo "Você digitou 'um'"
        ;;

    dois | três) 
        echo "Você digitou 'dois' ou 'três'"
        ;; 
    q *)
        echo "Você digitou algo começando com 'q'"
        ;;
    *)
        echo "Você digitou algo que eu não sei"
        ;;      
hexac

Observação

  1. ^ Use zsh como o shell padrão no Mac , no suporte da Apple. Recuperado em 7 de maio de 2021 .
  2. ^ (EN) Variáveis Bash , no Manual do Bash referência. Recuperado em 4 de janeiro de 2009 .
  3. ^ (EN) O Set Builtin , manual Bash Reference. Recuperado em 2 de janeiro de 2009 .

Bibliografia

Itens relacionados

Outros projetos

links externos

Controle de autoridade GND (DE) 4492523-2
Software grátis Portal do Software Livre : acesse as entradas da Wikipedia que lidam com software livre