Existem 3 formas de distribuir:
- adicione linhas a
$HOME/.bashrc
- um arquivo originado por
.bashrc
- um arquivo que pode ser incluído no diretório
/etc/profile.d
Eu diria que depende do número de funções e seus comprimentos. Se tiver duas ou mais funções, e elas forem demoradas, eu as distribuiria quase exclusivamente como um único arquivo (ou arquivos) que é originado por meio do arquivo $HOME/.bashrc
do usuário ou incorporado em /etc/profile.d
, por meio de um script fornecido por você .
Se é uma única função ou talvez 2, e eles são bem curtos, então eu os distribuo estritamente como um arquivo .txt ou simplesmente os coloco no github como um código que deve ser copiado / colado em seu ambiente existente , isto é, incluído em $HOME/.bashrc
ou em um arquivo preexistente em /etc/profile.d
, deixando-o para o usuário exatamente onde.
NOTA: /etc/profile.d
contém arquivos para vários shells (Csh, Bash, Zsh, etc.). Todos os arquivos incluídos aqui serão usados por esses outros shells também. A nomeação de arquivos aqui é o que controla quais shells os utilizarão. Um .csh
fornecerá para o Csh / Tcsh, um .sh
para Bash, Zsh, etc.
Sobre o uso adequado de /etc/profile.d
Se você está curioso, os arquivos adicionados a /etc/profile.d
devem conter comandos que devem ser executados apenas uma vez, no início do login. (Isso inclui logins gráficos, já que eles começam com um shell de login também.) Se um shell é interativo, o usuário que o está executando provavelmente está logado, e provavelmente tem um ancestral (que o iniciou ou iniciou o que o iniciou, ou iniciei isso, etc.) que era um shell de login.
Veja esta excelente resposta no AskUbuntu intitulada: Por que o / etc / profile não é invocado para shells que não são de login? , que detalha as diferenças entre um shell interativo e o login e suas implicações.