假设在当前环境中FOO定义了一些变量(和export-ed)。让我称之为环境E0。
现在,我使用ssh.
% ssh frobozz@for.example.com
Run Code Online (Sandbox Code Playgroud)
让我把这个新建立的会话的环境称为E1。
通常,FOO不会在 中定义E1,并且在特殊情况下,通常它的值将独立FOO于 in的值设置E0。
我如何安排事情,以便在通过 登录时ssh,变量FOO被设置E1为它的值E0(理想情况下,也是export-ed E1)?
万一重要,我zsh同时使用E0和E1。
对于这个问题的答案,假设我对sshd运行在 上的进程的配置没有任何控制权for.example.com。这尤其排除了任何需要修改 的解决方案/etc/ssh/sshd_config等for.example.com。
另外,假设 的值FOO不是常数;它将从一个登录会话更改为另一个登录会话。尤其是,FOO可能根本不设置 in FOO,这种情况下,效果E1类似于FOO=orexport FOO=或 or的效果就可以了unset …