Bash soa como um nome estranho para uma interface de linha de comando que saúda os usuários que se conectam a qualquer distribuição Linux. O que exatamente é Bash? Para que você pode usá-lo? Vamos descobrir.
Embora o Bash seja geralmente associado ao Linux, você também pode usá-lo no Windows. O macOS já inclui o Bash, embora tenha alterado o shell padrão para Zsh – uma versão avançada do Bash com alguns recursos adicionais.
Índice
O que é um shell?
O termo Bash shell é muito usado, mas afinal, o que é um shell? Por que é necessário? E por que Bash parece ser o único shell por aí?
Sistemas operacionais modernos, com suas interfaces gráficas de usuário intuitivas, tornaram o uso de um computador fácil. Mas nos primórdios dos computadores, dizer a um sistema o que fazer não era tão simples.
Os programadores precisavam conhecer os detalhes de baixo nível do sistema para o qual estavam codificando e instruir manualmente cada peça de hardware. Os sistemas operacionais foram projetados para preencher essa lacuna, mas como você instruiria o próprio sistema operacional?
Entre no Shell. A camada mais externa do sistema operacional foi projetada para ser um ambiente interativo expondo todas as funcionalidades do computador em uma interface simples. Esse shell era o máximo que um usuário do computador tinha que explorar, pois continha todos os comandos necessários para operar o sistema.
Bourne Again: Como o Bash surgiu
Um equívoco comum é que o Bash foi criado por Linus Torvalds para o sistema operacional Linux. Na realidade, o Bash foi meramente portado para o Linux, já sendo usado em seu antecessor, o Unix.
De muitas maneiras, o Unix é onde tudo começou para os sistemas operacionais modernos. Ele eliminou grande parte da complexidade complicada que atormentava as primeiras implementações do sistema operacional, apresentando as funções de um computador em uma interface baseada em texto comparativamente simples.
É claro que o próprio Unix emprestou a maioria de suas ideias do Multics, incluindo o conceito de shell. Mas foi o Unix que realmente popularizou a técnica, com o Thompson Shell sendo lançado em sua primeira versão.
No entanto, sua funcionalidade era bastante limitada e muitos programadores acabaram modificando o shell para torná-lo mais amigável para scripts. O Bourne Shell foi o substituto oficial do shell Unix, adicionando suporte para scripts de shell.
O Bourne Again Shell foi lançado muito mais tarde, oferecendo uma melhoria adicional em seus recursos de script e transformando-o em um shell de licença GNU gratuito e de código aberto que poderia ser usado por qualquer sistema operacional. E foi rapidamente adotado pelo Linux, tornando-se o shell padrão para suas várias distros.
Mas o que o Bash pode fazer?
O Bash é basicamente um ambiente de script completo com acesso completo ao sistema Linux. Desde o gerenciamento de arquivos até a execução de aplicativos, você pode realizar todas as tarefas de computação com comandos Bash.
Para a maioria dos usuários do Linux, isso se traduz apenas em comandos shell manuais. Afinal, o principal objetivo do Bash é servir como uma interface para o sistema operacional.
E existem alguns desses comandos integrados. Você pode gerenciar a propriedade do arquivo com chown, definir configurações de rede com ifconfig, localizar diretórios com find – a lista continua.
Mas o Bash não existiria se os comandos do Linux fossem tudo o que interessasse aos usuários. Não, o verdadeiro poder do shell do Linux está nos scripts.
A importância dos scripts
A ideia dos comandos de script é simples. Em vez de inserir manualmente todos os comandos que você deseja que o sistema execute um por um, você salva os comandos em um arquivo de texto que pode ser executado sob demanda.
Isso transforma a interface do shell em uma espécie de linguagem de programação, permitindo que os usuários automatizem qualquer ação em um script reutilizável. Obviamente, vai além disso, pois qualquer linguagem de programação precisa de coisas como variáveis e funções, além da capacidade de salvar código.
E o Bash tem todos esses recursos. É por isso que o shell – e, até certo ponto, o Linux em geral – é tão popular para gerenciar servidores e sistemas comerciais.
Um usuário doméstico pode clicar em vários botões, mas um administrador de sistema precisa ser capaz de executar qualquer ação em um grande número de computadores remotamente. Os scripts bash são o que torna possível esse tipo de gerenciamento de sistema automatizado.
Por exemplo, considere nosso guia sobre como renomear arquivos e pastas no Linux. O guia ilustra ambos os métodos – GUI e script. Como você pode ver, o método de script é muito mais escalável quando há um grande número de arquivos envolvidos.
Introdução ao Bash
O bom do Bash é que ele não se limita apenas ao Linux. Agora você pode instalar o Linux no Windows por meio do Windows Subsystem for Linux (WSL), que vem com o Bash por padrão.
Isso significa que você pode começar a experimentar o Bash sem precisar mudar completamente para o Linux. Mesmo se você for um usuário casual que não pretende trabalhar com servidores Linux, os recursos interessantes de um shell Bash podem ser úteis para você.
Não que o Bash seja sua única opção para automatizar tarefas de computação. O PowerShell é uma interface semelhante que funciona com o Windows – além do que você pode gerenciar com o prompt de comando, é claro.