[Dica] Pasta de scripts/executáveis pessoais

Essa dica é particularmente útil pra quem tem um .bashrc com várias funções gigantes que já poderiam ser scripts separados, ou que baixou programas “standalone”/AppImage da internet e quer poder iniciá-los diretamente do terminal.

De bônus, facilita para que suas funções de uso pessoal sejam feitas em outras linguagens de programação, além do shell.

O procedimento

  1. Crie uma pasta de na qual você vai colocar esses arquivos. Minhas recomendação é /home/usuario/.local/bin, que é onde os programas em Python instalados sem root geralmente são colocados, mas qualquer outra serve.
  2. Edite o arquivo .xprofile (crie se não existir) e acrescente as linhas.
PATH="$PATH:$HOME/.local/bin"
export PATH
  1. Deslogue e logue novamente. Vai ser possível executar arquivos das pastas que você especificou, sem dar o caminho completo.
Bônus: conversão de funções do .bashrc

Antes de tudo, vale lembrar que, se sua função altera o ambiente do shell de alguma maneira (por exemplo, cria uma variável que você vai usar em outros comandos, ou muda a pasta de trabalho do shell), ela não pode ser convertida, e deve ficar no .bashrc.

  • Crie um arquivo de texto com o cabeçalho: #!/usr/bin/env bash
  • Copie e cole os comandos da função para o arquivo de texto.
  • Troque os return's por exit's, se houver
  • Mova-o para a pasta e marque-os como executável.
Confissão

Rodei o sloccount na minha pasta e deu 277 linhas de shell script (e olha que algumas funções eu acabei passando para awk, python, etc. porque se adequavam melhor ao que eu queria fazer).

8 curtidas