Movatterモバイル変換


[0]ホーム

URL:


Saltar para o conteúdo
Wikipédia
Busca

Bash

Origem: Wikipédia, a enciclopédia livre.
 Nota: Para outros significados, vejaBash (desambiguação).
Bash
Bash

Bash em execução
DesenvolvedorChet Ramey (Projecto GNU)
Versão estável5.2.37[1](23 de setembro de 2024; há 5 meses)
Sistema operacionalMulti plataforma (POSIX)
Gênero(s)Shell
LicençaGPL
Página oficialwww.gnu.org/software/bash/

GNU Bash ou simplesmenteBash é uminterpretador de comandos, um entre os diversos tradutores entre o usuário e osistema operacional conhecidos comoshell.

Acrônimo para "Bourne-AgainSHell",[2] o Bash é uma evolução retro-compatível muito mais interativa doBourne Shell (sh). Os shells Bourne permitem a execução de sequências de comandos inseridos diretamente na linha de comandos ("prompt") ou ainda lidos de arquivos de texto conhecidos comoshell scripts. Neles se podem invocar comandos internos aos próprios shells (conhecidos como comandos "builtins") ou aindaarquivos binários ou scripts de terceiros arquivados nos dispositivos de armazenamento do sistema.

O Bash apresenta recursos e características de umalinguagem de programação alto nível. É compatível por configuração com as normasPOSIX, de forma que os scripts Bash podem ser executados em diversos sistemas "tipo unix"; e quando invocado (via ligação) com o nome de "sh", transforma-se automaticamente em seu predecessor homônimo.[3][4][5]

O direito autoral do Bash pertence àFree Software Foundation, Inc.,[2] que o publica desde o lançamento comosoftware livre. Foiliberado em 1989 e é shell padrão noprojeto GNU. O projeto GNU desenvolve uma plataforma de softwares livres voltados às mais diversas tarefas que, em conjunção com o kernel desenvolvido porLinus Torvalds, define a maioria das distribuiçõesGNU/Linux conhecidas. Por ser o shell padrão do projeto GNU, ao se invocar um terminal em um sistema "Linux", provavelmente o Bash será o shell a esperar pelo comando do usuário.

Shell imprescindível aos sistemas operacionaisOS X eMacOS, da Apple, o Bash já se encontra também disponível, de forma estável, no sistemaWindows 10. Fruto de uma parceria entre aCanonical e a Microsoft, uma versão atualizada do "Bash on Ubuntu on Windows" é ofertada naMicrosoft Store para instalação no Windows Pro; bastando habilitar os recursos doSubsistema Windows para Linux no gerenciador de recursos do Windows e proceder com a instalação doUbuntu a partir da loja da Microsoft. Outrasdistribuições Linux como oOpenSUSE,KaliLinux eDebian são igualmente ofertadas para instalação; todas tornando disponíveis o uso do Bash no Windows.[6]

Um exemplo simples de umscript em Bash vê-se abaixo. No código há informações sobre o que ele faz.[7]

#!/bin/bash# A linha acima (primeira), mesmo comentada (de fato iniciada pelo shebang #!) indica qual o interpretador de comandos (shell) a ser usado para interpretar este script.# Textos precedidos por '#" são ignorados! Útil para se fazerem comentários.# Limpa a telaclear# Exibe na tela "Olá" e o nome do usuário.echo"Olá${USER}!"# Verifica se o usuário tem privilégios de superusuário (é o "root"), e alerta quanto à não execução do programa em tal situação.ROT=$(id-u)if[$ROT-eq0]thenecho"O programa não deve ser executado pelo superusuário (\"root\")."echo"Por favor faça autenticação como usuário comum para executá-lo."echo"Encerrando a sessão..."sleep5exit2elseecho"Executando o script..."fi#  Código do programa... \/#

Histórico do Bash

[editar |editar código-fonte]

O Bash é o shell desenvolvido para oprojeto GNU, daFree Software Foundation, que se tornou padrão nas várias distribuiçõesLinux. Pode ser usado também com outrossistemas operacionais, como oUnix; há versões para o sistema Microsoft Windows₢ (como o do projetoCygwin), algumas com as bibliotecas necessárias embutidas no binário (no caso dowinbash; o que torna desnecessário instalar o ambiente POSIX inteiro para ter apenas o Bash). É compatível com oBourne shell (sh), incorporando os melhores recursos doC shell (csh) e do Korn Shell (ksh).

Arquivos de ambiente

[editar |editar código-fonte]

Você pode customizar seu ambiente do Bash utilizando alguns arquivos como:

  • .bash_profile
  • .bashrc
  • /etc/profile

.bash_profile

[editar |editar código-fonte]

Este arquivo fica localizado no diretório pessoal de cada usuário. É executado por shells que usamautenticação (nome e senha). Ele contém comandos que são executados para o usuário no momento dologin no sistema após o /etc/profile. Note que este é um arquivo oculto pois tem um "." no inicio do nome.

Por exemplo, colocando a linha abaixo cria um apelido para o comando "ls --color=auto" usando ls, assim toda vez que você digitar ls será mostrada a listagem colorida:

alias ls='ls --color=auto'

.bashrc

[editar |editar código-fonte]

Possui as mesmas características do .bash_profile mas é executado por shells que não requerem autenticação (como uma seção de terminal no X).

Os comandos deste arquivo são executados no momento que o usuário inicia um shell com as características acima. Note que este é um arquivo oculto pois tem um "." no inicio do nome.

/etc/profile

[editar |editar código-fonte]

Este arquivo contém comandos que são executados paratodos os usuários do sistema no momento de autenticação. Somente o usuário root pode ter permissão para modificar este arquivo.

Este arquivo é lido antes do arquivo de configuração pessoal de cada usuário (.profile (para usuário root) e .bash_profile). Pode ser utilizado caso seja necessário fazer alguma personalização do ambiente para todos os usuários que utilizam o computador.

Quando é carregado através de um shell que requer autenticação (nome e senha), o Bash procura estes arquivos em sequência e executa os comandos contidos, caso existam:

  • . /etc/profile
  • . ~/.bash_profile
  • . ~/.bash_login
  • . ~/.profile

Interrompe a pesquisa assim que localiza o primeiro arquivo no diretório do usuário (usando a sequência acima). Por exemplo, se tem o arquivo ~/.bash_login e ~/.bash_profile no seu diretório de usuário, processará o /etc/profile e após isto o ~/.bash_profile, mas nunca processará o ~/.bash_login (a menos que o ~/.bash_profile seja apagado ou renomeado).

Caso o Bash seja carregado através de um shell que não requer autenticação (um terminal no X, por exemplo), o seguinte arquivo é executado: ~/.bashrc.

Observação: nos sistemasDebian, o perfil do usuário root está configurado no arquivo /root/.profile. A razão disto é porque se o Bash for carregado através do comando sh, fará a inicialização clássica deste shell ao ler primeiro o arquivo /etc/profile e após o ~/.profile e ignora o .bash_profile e o .bashrc que são arquivos de configuração usados somente pelo Bash. Exemplo, ao inserir a linha mesg y no arquivo /etc/profile permite que todos os usuários do sistema recebam pedidos de 'talk' de outros usuários. Caso um usuário não quiser receber pedidos de 'talk', basta somente adicionar a linha mesg n no arquivo pessoal .bash_profile

Ver também

[editar |editar código-fonte]

Referências

  1. Chet Ramey (23 de setembro de 2024).lists.gnu.orgrelease available https://ftp.gnu.org/gnu/bash/ release available Verifique valor|url= (ajuda). Consultado em 17 de setembro de 2024 Em falta ou vazio|título= (ajuda)
  2. abPágina do manual do Bash, conforme exibida em sistemas GNU Linux através do comando "man bash"
  3. Richard Stallman (forwarded with comments by Chet Ramey); 2362@mandrill.CWRU.Edu (10 de fevereiro de 1988).«GNU + BSD = ?» (em inglês). comp.unix.questions newsgroup. Consultado em 13 de julho de 2013 
  4. Hamilton, Naomi (30 de maio de 2008).«The A-Z of Programming Languages: BASH/Bourne-Again Shell».Computerworld (em inglês): 2. Consultado em 21 de março de 2011 
  5. Brian Fox (forwarded by Leonard H. Tower Jr.) (8 de junho de 1989).«Bash is in beta release!» (em inglês). gnu.announce. Consultado em 28 de outubro de 2010 
  6. «Documentação do Subsistema Windows para Linux».Microsoft Docs.Microsoft. Consultado em 2 de fevereiro de 2020 
  7. No sistema Linux o código visto (script) deve encontrar-se salvo em um arquivo formato texto (cujo nome usualmente recebe a extensão ".sh" e não ".txt") o qual, antes de ser invocado, deve receber permissão de execução (scripts são executáveis). A permissão para execução pode ser dada via comandochmod. Para exibir um manual do Bash ou mesmo do comando 'chmod', digite na linha de comando (do shell em execução) "man bash" ou "man chmod" (sem as aspas).

Ligações externas

[editar |editar código-fonte]
História
GNU não é um gnu
Licenças
Software
Porta-Vozes
Outros assuntos
Obtida de "https://pt.wikipedia.org/w/index.php?title=Bash&oldid=69513611"
Categorias:
Categorias ocultas:

[8]ページ先頭

©2009-2025 Movatter.jp