Bash 将环境变量传播到ZSH

Bash 将环境变量传播到ZSH,bash,zsh,Bash,Zsh,我正在使用以下命令调用脚本: zsh -c 'myscript' -- $args 其中myscript存在于通过.zshrc添加到我的路径的文件夹中。当我运行该命令时,zsh找不到myscript,因为路径被重置为默认路径 当我使用bash运行类似命令时: bash -c 'myscript' -- $args 找到了myscript,我假设路径是通过bash传递的 有没有办法强制路径和所有其他环境变量向下传播到zsh?区别不在于如何bash和zsh从其父级继承PATH(相同),但是在你的

我正在使用以下命令调用脚本:

zsh -c 'myscript' -- $args
其中myscript存在于通过
.zshrc
添加到我的路径的文件夹中。当我运行该命令时,zsh找不到myscript,因为路径被重置为默认路径

当我使用bash运行类似命令时:

bash -c 'myscript' -- $args
找到了
myscript
,我假设路径是通过bash传递的


有没有办法强制路径和所有其他环境变量向下传播到zsh?

区别不在于如何
bash
zsh
从其父级继承
PATH
(相同),但是在你的
.bashrc
.zshrc
如何修改
路径的问题上,我似乎无法重现这个问题。如果我将
myscript
放入
$HOME/foo
并将其添加到当前shell上的
PATH
PATH=$HOME/foo:$PATH
),则对
zsh-c'myscript'
的任何后续调用都是成功的。因此,zsh似乎正确地继承了环境。在您的zsh配置中是否有任何地方将PATH设置为固定值,例如
PATH=/somedir/bin:/usr/bin:/bin
而不是
PATH=/somedir/bin:$PATH
?此外,启动非交互式zsh会话时通常不会读取
~/.zshrc
,因此您可能需要检查
~/.zshenv
/etc/zshenv