Bash
Bash Programas | |
---|---|
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 | |
---|---|
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] ambientePOSIXLY_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:
- o "
/etc/profile
" file - apenas o primeiro dos arquivos "
.bash_profile
", ".bash_login
" e ".profile
" localizado no usuário diretório home e que parece estar disponível; - o "
.bashrc
arquivo" localizado no diretório home do usuário;
- o "
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
- ^ Use zsh como o shell padrão no Mac , no suporte da Apple. Recuperado em 7 de maio de 2021 .
- ^ (EN) Variáveis Bash , no Manual do Bash referência. Recuperado em 4 de janeiro de 2009 .
- ^ (EN) O Set Builtin , manual Bash Reference. Recuperado em 2 de janeiro de 2009 .
Bibliografia
- Como Linux funciona: introdução ao shell (JPG), em MCmicrocomputer , n. 205, Roma, Pluricom, abril de 2000, pp. 176-181, ISSN 1123-2714
- Como Linux funciona: funções shell avançadas e comandos úteis para a programação de roteiro (JPG), em MCmicrocomputer , n. 206, Roma, Pluricom, maio de 2000, pp. 178-185, ISSN 1123-2714 .
- Como Linux funciona: estruturas de controle de shell (JPG), em MCmicrocomputer , n. 207, Roma, Pluricom, junho de 2000, pp. 174-179, ISSN 1123-2714
- (EN) Chet Ramey e Brian Fox, manual Bash Reference (PDF), em gnu.org, setembro de 2016. Retirado 15 março, 2017.
Itens relacionados
Outros projetos
-
Wikimedia Commons contém imagens ou outros arquivos no GNU Bash
links externos
- ( EN ) Site oficial , em gnu.org .
- Bash , em packages.debian.org.
- Repositório de origem Bash , em git.savannah.gnu.org.
- (EN) Bash , no Diretório de Software Livre .
- jBash projeto é um analisador de Java para o Bourne Again Shell , em code.google.com.
- Personalização do prompt do bash , em pluto.it.
- Guia Avançado bash script , em pluto.it. Retirado 16 de janeiro de 2011 (arquivado a partir do original em 29 de dezembro de 2010).
- Páginas da festança man de comando , no pluto.it.
- "Bash Guia para Iniciantes", de M. Garrels (traduzido para o italiano por A. Montagner) , em codex.altervista.org.
- (EN) Saiba o shell , em linuxcommand.org. Retirado 15 de junho de 2007 (arquivado a partir do original em 13 de junho de 2007).
- Guia simples para os principais comandos de festa , em linux.collectiontricks.it. Retirado 03 de outubro de 2016 (arquivado a partir do original em 5 de outubro de 2016).
- (EN) ganha-bater uma versão shell Bash para Microsoft Windows em win-bash.sourceforge.net.
Controle de autoridade | GND (DE) 4492523-2 |
---|