![ssh/mosh 到远程交互式 shell 并运行特定功能](https://linux22.com/image/72054/ssh%2Fmosh%20%E5%88%B0%E8%BF%9C%E7%A8%8B%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E5%B9%B6%E8%BF%90%E8%A1%8C%E7%89%B9%E5%AE%9A%E5%8A%9F%E8%83%BD.png)
我的本地计算机上有以下别名:
alias gom='mosh -- user@host "/path/to/specific/zsh"'
我用它通过交互式 shell 连接到远程计算机。我想修改此别名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"'
上述一些解决方案使我与远程会话断开连接,而另一些则不会,但它们都不起作用。
答案1
% 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"
或者其他的东西