Se você costuma usar o terminal e há comandos que você usa com frequência, saiba que pode economizar digitação criando scripts com nomes personalizados. Em vez de digitar um comando grande, ou digitar vários comandos, você chama o script e ele faz todo o trabalho. Veja nesse post como fazer isso.
Uma tarefa que simplifiquei onde trabalho foi o envio de arquivos para um servidor usando rsync. Eu percebi que com frequência eu usava um comando parecido com esse:
1
$ rsync -Cavz /pasta/no/computador usuario@servidor:/pasta/no/servidor
Eu decidi criar um script com um nome pequeno (por exemplo, syncsrv) para abreviar a digitação desse comando.
Como fiz isso?
Por padrão, o openSUSE cria uma pasta chamada bin na pasta pessoal de cada usuário (por exemplo, /home/kamarada) e adiciona essa pasta à variável de ambiente $PATH de cada usuário. Com isso, scripts criados nessa pasta podem ser chamados de qualquer pasta.
Então eu criei o script chamado syncsrv (sem extensão mesmo) na pasta bin:
1
2
$ cd ~/bin
$ touch syncsrv
(~ é um atalho para a pasta pessoal, no meu caso /home/kamarada)
Com meu editor favorito (no terminal, eu gosto de usar o nano) abri o script:
1
$ nano syncsrv
E digitei:
1
2
#!/bin/bash
rsync -Cavz /pasta/no/computador usuario@servidor:/pasta/no/servidor
Salvei. Por último, tornei o script syncsrv executável modificando suas permissões:
1
$ chmod u+x syncsrv
Pronto! Feito isso, agora eu posso chamar de qualquer pasta:
1
$ syncsrv
para enviar arquivos para o servidor, em vez de ter que digitar o comando original:
1
$ rsync -Cavz /pasta/no/computador usuario@servidor:/pasta/no/servidor
Cansa menos as mãos, não?
Mais um exemplo
Com o tempo, também percebi que eu sempre quando chegava no trabalho iniciava o Thunderbird, o Pidgin e sincronizava meus repositórios do Git usando o comando mr.
Usando o mesmo procedimento acima, criei um script chamado cheguei com o seguinte conteúdo:
1
2
3
4
#!/bin/bash
(thunderbird &)
(pidgin &)
mr update
Comandos como (thunderbird &) iniciam programas em segundo plano, de modo que não são encerrados ao fechar a janela do terminal, para mais informações consulte essa pergunta no Unix & Linux Stack Exchange (em inglês).
Pronto! Agora sempre que chego no trabalho abro o terminal, aviso que cheguei e ele executa esses comandos para mim.
Não funciona no meu computador
Se você utiliza outra distribuição Linux, ou utiliza uma versão anterior do openSUSE, que talvez não venha com a pasta ~/bin pré-configurada, saiba que é possível criá-la e configurá-la automaticamente. Veja a seguir como fazer.
Acesse a pasta pessoal e crie a pasta bin (essa é apenas uma convenção, mas na verdade você pode nomeá-la como quiser):
1
2
$ cd ~
$ mkdir bin
Abra o arquivo .bash_profile localizado na pasta pessoal (já estamos nela) e adicione essa linha ao final (lembre-se de substituir kamarada pelo seu nome de usuário):
1
export PATH=/home/kamarada/bin:$PATH
Feche a janela atual do terminal e abra uma nova, para que o arquivo .bash_profile seja executado novamente.
Com isso você já pode criar scripts na pasta ~/bin e executá-los.