Por que o urxvtc não accetp zsh funciona quando chamado com um argumento “-c”?

0

Para lançar um novo terminal e executar uma função zsh nele, estou tentando executar o seguinte comando a partir de um terminal urxvtc (o urxvtd está sendo executado como um systemd service)

     urxvtc -e zsh -c "my-zsh-defined-function"

que não funciona, pois a função é desconhecida. Preciso fornecer explicitamente meu zshrc para que funcione

     urxvtc -e zsh -c "source ~/.zshrc; my-zsh-defined-function"

O problema é que não entendo o porquê. Não deve zsh source .zshrc quando executo urxvtc e então eu digito my-zsh-defined-function ?

    
por csantosb 30.12.2014 / 13:52

1 resposta

2

Não deveria, pois você não está executando zsh interativamente. Citando man zsh (seção STARTUP/SHUTDOWN FILES ):

[I]f the shell is interactive, commands are read from /etc/zshrc and then $ZDOTDIR/.zshrc.

Você pode tentar usar -i :

-i     Force  shell to be interactive.  It is still possible to specify
       a script to execute.
    
por 30.12.2014 / 14:06

Tags