Redes
Imagine que, em um futuro distante, o Google decida transformar o Android em um sistema para robôs pessoais. Seu robô com o Android poderia ser então instruído a executar qualquer tipo de tarefa, desde que você conseguisse explicar para ele o que precisa fazer na forma de instruções simples. Uma ida até a geladeira para pegar uma lata de refrigerante poderia ser explicada dessa forma:
Ir até a cozinha.
Abrir a geladeira.
Olhar a prateleira da direita.
Se encontrar uma lata de coca-cola, trazer para mim.
Senão, trazer a lata de guaraná.
Se não encontrar lata alguma, fechar a geladeira e voltar.
Este mesmo princípio, de dividir a tarefa a ser feita em instruções simples, é comum a todas as linguagens de programação. Elas podem variar em complexidade, mas a ideia central é sempre a mesma: explicar ao sistema o que fazer, em uma linguagem que ele seja capaz de entender.
No caso do shell-script, você precisa apenas pensar em uma maneira de "explicar" o que você quer que seja feito através de comandos de terminal. Conforme você vai adquirindo mais familiaridade com o sistema, este acaba se tornando um processo natural, já que qualquer conjunto de comandos para executar uma determinada tarefa pode ser transformado em um script rapidamente. Vamos então a alguns exemplos básicos para quebrar o gelo.
O tipo mais simples de script consiste em um bloco de comandos, que automatiza alguma tarefa repetitiva. Estes scripts "burros" são uma excelente forma de simplificar o uso do sistema, evitando que você precise memorizar sequências de comandos. Um bom exemplo é este mini-script que uso para conectar um mouse bluetooth:
#!/bin/sh
# Checagem para ter certeza que o suporte a bluetooth está ativado: hciconfig hci0 down
/etc/init.d/bluetooth restart hciconfig hci0 up
# Ativa o mouse: hidd --connect 00:07:61:62:cb:bb
Estes quatro comandos permitem ativar o mouse em qualquer distribuição, de forma que preciso apenas executar o script e