% exec zsh
% MAGIC=1 exec zsh
hello world
% grep -1 hw .zshrc
function hw { print "hello world" }
[[ -n $MAGIC ]] && hw
%
Então remotamente
% ssh localhost "MAGIC=1 zsh -i"
ou algo
Eu tenho o seguinte alias na minha máquina local:
alias gom='mosh -- user@host "/path/to/specific/zsh"'
Eu o uso para conectar-me a uma máquina remota com um shell interativo. Eu gostaria de modificar esse alias para executar uma função específica my_func
definida em .zshenv
na máquina remota assim que eu fizer logon (ao usar este alias).
Como posso fazer isso?
Eu tentei o seguinte:
alias gom='mosh -- user@host "/path/to/specific/zsh"; my_func;'
alias gom='mosh -- user@host "/path/to/specific/zsh; my_func"'
alias gom='mosh -- user@host "/path/to/specific/zsh & my_func"'
Algumas das soluções acima me desconectam das sessões remotas, enquanto outras não, mas nenhuma delas funciona.
% exec zsh
% MAGIC=1 exec zsh
hello world
% grep -1 hw .zshrc
function hw { print "hello world" }
[[ -n $MAGIC ]] && hw
%
Então remotamente
% ssh localhost "MAGIC=1 zsh -i"
ou algo