Alguém poderia explicar em qual diretório (ou diretórios) devo colocar meus próprios scripts de shell e arquivos de configuração no macOS?
/usr/local/bin/
?/usr/local/etc/
?$HOME/bin/
?$HOME/etc/
?- ... ?
Uma prática recomendada ou uma maneira mais comum?
Os arquivos de exemplo são:
webpage2pdf.zsh
- um script ImageMagick para converter uma página da web em PDF.webpage2pdf
- um arquivo de configuração para ele.zshrc_my-own
- um arquivo de configuração Zsh que é originado em meu~/.zshrc
usingsource
, conforme sugerido por Gilles para evitar substituições acidentais: https://unix.stackexchange.com/a/787409
/etc
geralmente armazena arquivos de configuração./usr/local
serão separados do seu$HOME
, então se um dia você decidir fazer um backup$HOME
para salvar seus próprios arquivos, esses scripts não serão copiados.Eu simplesmente escolheria
$HOME/bin
, não esqueça de adicioná-lo ao seu$PATH
.AFAIK, a única coisa que se aproxima de um verdadeiro padrão é o FHS (File Hierarchy Standard) . Ele não é atualizado há quase 10 anos , mas talvez seus mantenedores tenham sentido que nenhuma mudança foi necessária desde então. Para sistemas Apple, você pode querer ler este documento ... role um pouco para baixo para encontrar o material pertinente ao macOS. Esta documentação também é antiga, mas como a documentação da Apple geralmente é ruim ou inexistente, isso está bem acima da média para eles! :) Mas falando em documentação ruim, a Linux Foundation também não fez um trabalho excelente; por exemplo, veja os "Outros Links" na parte inferior desta página .
Então sim - a orientação sobre as várias hierarquias de sistemas de arquivos é bastante irregular . E algumas das orientações que existem na forma de padrões não são precisas. Ou seja, prepare-se para alguma ambiguidade .
Dito isso, talvez a melhor e mais sucinta orientação possa ser encontrada no seu macOS a partir do terminal: basta digitar
man hier
( alt. uma versão online ):Por fim, você provavelmente não deve ignorar a possibilidade de usar
$HOME/bin
for (pelo menos alguns dos) seus scripts. Parece que me lembro de que pelo menos uma distro Linux (Debian) agora adiciona automaticamente$HOME/bin
à sua variável env PATH (se existir; via~/.profile
). Você pode fazer algo semelhante no seu macOS.