web-dev-qa-db-ja.com

リモートインタラクティブシェルにssh / moshし、特定の機能を実行します

ローカルマシンに次のエイリアスがあります。

alias gom='mosh -- user@Host  "/path/to/specific/zsh"'

インタラクティブシェルでリモートマシンに接続するために使用します。 このエイリアスを変更特定の関数my_funcで定義された.zshenvリモートマシンでログインするとすぐに実行したい(このエイリアスを使用する場合)。

どうすればよいですか?

私は以下を試しました:

  • 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"'

上記の解決策のいくつかは私をリモートセッションから切断しますが、他の解決策はそうではありませんが、どれも機能しません。

% exec zsh
% MAGIC=1 exec zsh
hello world
% grep -1 hw .zshrc

function hw { print "hello world" }
[[ -n $MAGIC ]] && hw

% 

だからええとリモート

% ssh localhost "MAGIC=1 zsh -i"

か何か

2
thrig