ssh / mosh para um shell interativo remoto e execute uma função específica

2

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.

    
por Amelio Vazquez-Reina 31.08.2015 / 19:51

1 resposta

2

% 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

    
por 31.08.2015 / 20:38