Posts Tagged ‘shell script’
Quando a ajuda cai do “shell”…
Muitos administradores de sistemas, desenvolvedores e até usuários (mais avançadas) de GNU/Linux (e outros tipos de Unix, na verdade) costumam lidar com a famosa “tela preta” por horas todos os dias. E, como não poderia ser diferente, mudar de diretórios é uma tarefa executada dezenas ou centenas de vezes em uma simples jornada de trabalho. Com isso, errar o caminho do diretório é algo bem comum e que, além de fazer você perder tempo, pode prejudicar sua paciência!
Uma das formas de facilitar sua vida no poderoso mundo da “tela preta” é o próprio recurso do auto completion, presente em shells com o bash. Outro truque bem simples e interessante, mas deconhecido por muitos, é comando shopt. Com ele, pode-se pedir uma ajuda da shell para completar seus comandos “cd” para mudar de diretório quando há apenas um pequeno erro de digitação.
Por exemplo, suponha que ao tentar entrar no diretório /tmp, vc execute o seguinte comando:
$ cd /tmx
Obviamente que você receberá uma mensagem de que esse diretório (/tmx) não existe. Entretanto, tente executar o comando shopt dessa maneira:
$ shopt -s cdspell
Em seguinda, tente executar o comando “cd /tmx” e confira que, mesmo tendo errado o caminho, você estará dentro do diretório pretendido, ou seja, o /tmp. Se você quiser que todas os seus terminais de comandos sejam executados já com essa opção, basta inserir o comando “shopt -s cdspell” no arquivo .bashrc ou .bash_profile (conforme sua distribuição Linux ou versão de Unix).
Antes de terminar, logicamente que o título desse pequeno post é completamente baseado nas “peripécias criativas” de meu grande amigo e mestre do shell Júlio Neves. Por fim, como se pode ver, mesmo no mundo da “tela preta”, às vezes, a ajuda cai do “shell”. Até a próxima!
Shell script por Júlio Neves e Aurélio Marinho.
Certa vez, ouvi um amigo me classificar como "livrólota". É bem verdade que não posso negar o apego e a curiosidade que tenho por livros, fundamentalmente, por aqueles que, de alguma maneira, têm relação com minha área de trabalho. E, como qualquer administrador de sistemas Unix/Linux, shell script é sempre um assunto que merece atenção especial.
Quando bem dominado, o desenvolvimento de shell scripts é um aliado poderoso do dia-a-dia para automatizar tarefas e fazer com que o sistema torne-se customizável o suficiente para atender apropriadamente às suas necessidades. E, particularmente, considero esse ser um grande diferencial de sistemas baseados em Unix, como o Linux, por exemplo, quando comparado a outros sistemas que não possuem recursos semelhantes. Aliás, shell scripts são essenciais para o funcionamento de qualquer sistema da família Unix e, entendê-los com propriedade é fundamental para desmistificar e desvendar o compartamento de um sistema sob sua administração. Parte significativa do processo de boot é realizada por meio dos shell scripts, por exemplo.
Com isso, atualizei a sessão de Resenhas do site com dois livros nacionais que, de fato, fazem a diferença no aprendizado de shell script e, por conta disso, tenho recomendado ambos a colegas de trabalho e alunos. Trata-se do livro "Programação Shell Linux" de Júlio Neves e "Shell Script Profissional" de Aurélio Marinho.
Como gerar números (pseudo)aletórios em um shell script?
Apesar de, na maioria dos casos, os shell scripts serem utilizados para manipular arquivos, agrupar logicamente utilitários comuns do sistema operacional e editar textos (de configuração de aplicativos, por exemplo), é inerente à vida de um administrador de sistemas passar por novos desafios e surpresas.
Dia desses, estava precisando implementar uma nova funcionalidade em um shell script e, seguindo a lógica que havia estabelecido, seria necessária a geração de alguns números aleatórios (ou pseudo-aleatórios, na verdade, já que falar de aleatoriedade em computação não é um assunto tão trivial). Após alguma investigação e depois de conhecer soluções mais "ortodoxas", que comento a seguir, encontrei uma maneira rápida e simples. O mais interessante é que essa alternativa não está amplamente comentada em livros e referências sobre o assunto. Daí o motivo de estar compartilhando essa dica por aqui.
Trata-se de uma variável especial, $RANDOM, existente na bash, que, uma vez acessada, gera como saída um número aleatório. Veja só isso:
$ echo $RANDOM
28214


