不能使用来自 ipython 或 julia repls 的命令与 zsh

Can't use commands from ipython or julia repls with zsh

当我尝试 运行 ipython 或 julia repl 中的 shell 命令时,它只是说

shell> ls
zsh:1: command not found: ls

不确定这是否重要,但我在 zshenv 而不是 zshrc 中设置了我的路径,这样 emacs shell 就可以工作了。

有什么想法吗?

编辑: 我在 macOS 10.14.6

对于 Julia,shell> REPL 提示实际上使用 shell 来执行其命令(在非 Windows 系统上)。它有效地执行类似 run(`$shell -c ls`) 的操作,对于大多数 shells(包括 zsh),这意味着 "non-interactive" 模式并限制加载的初始化文件的数量。您想确保您的 shell 在此模式下工作;我猜如果你在你的终端输入 zsh -c ls 它也会同样被破坏。

或者,您可以自定义 shell Julia 通过环境变量使用哪个。设置 JULIA_SHELL=/bin/sh 可能是一个安全的选择——如果设置了环境变量,Julia 会使用它,否则它会使用 SHELL,如果两者都没有设置,最后它会回退到 /bin/sh

我不太熟悉 ipython,但我敢打赌它在做类似的事情。