Prolog padrão para todos os scripts ZSH?

0

Eu tenho um arquivo que contém várias funções auxiliares, destinadas a serem usadas apenas em outros scripts ZSH. Eu não quero que eles sejam carregados com o meu perfil. Para disponibilizar essas funções no meu script, eu precisaria sourcedesse arquivo.

De alguma forma, é possível ter o script de prólogo automático (ou pré-script) carregado antes de todos os meus scripts ZSH?

Minha idéia atual é a alias -sextensão zsh para a função personalizada que tudo isso para mim:

  • concatenar arquivo de prólogo e script atual
  • chama zsh com essa entrada modificada

mas por enquanto não sou capaz de fazer isso (não durmo quase um dia). Por favor, alguém tem uma solução funcional?

Igor Spasic
fonte

Respostas:

1

Por que se preocupar com o apelido? Eu acredito que seria bom apenas fazer um script curto que origine seu script e depois chame zsh $@:

#!/bin/zsh
source my/script/path
$@

Então (se você o nomeou libload), funciona assim ./libload yourscript -options -options2

Você também pode simplesmente colocar seu código no arquivo, se isso for mais fácil. Além disso, deve ser possível adicionar algo como: #!/bin/zsh /path/to/libloadna parte superior de cada script, mas na minha configuração que não funciona corretamente no ATM por algum motivo. Mesmo assim, seria quase tão fácil adicionar source /path/to/your/scriptsa cada arquivo.

Provavelmente não é uma boa idéia usar o apelido de todas as chamadas para zsh. É melhor você criar um intérprete modificado como eu mostrei do que substituir o comando ZSH padrão (ou o padrão para qualquer outro intérprete).

krowe
fonte
sim, mas eu não gostaria de digitar libloadpara iniciar um pouco do meu script. Por enquanto, a zshextensão de aliasing para zsh funciona bem, então nem escrevo shebangs para meus scripts zsh. Esta é apenas uma questão de 'over'-otimização do ambiente;)
Igor Spasic
Então, por que não usar aliases de sufixo libload? alias -s zsh=libloaddeve funcionar muito bem.
Adaephon