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.