无法将ipython或julia repls中的命令与zsh一起使用

时间:2019-10-29 13:44:46

标签: path ipython julia zsh

当我尝试在ipython或julia repl中运行shell命令时,它只会显示

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

不确定是否重要,但是我将路径设置在zshenv而不是zshrc中,以便emacs shell可以工作。

有什么想法吗?

编辑: 我在macOS 10.14.6上

1 个答案:

答案 0 :(得分:2)

对于Julia,shell> REPL提示符实际上确实使用外壳程序执行其命令(在非Windows系统上)。它有效地执行了run(`$shell -c ls`)之类的操作,对于大多数Shell(包括zsh)而言,这意味着采用``非交互式''模式并限制了要加载的初始化文件的数量。您要确保您的外壳在此模式下工作;我猜想,如果您在终端上输入zsh -c ls,它也会同样损坏。

或者,您可以通过环境变量来自定义Julia使用的外壳。设置JULIA_SHELL=/bin/sh可能是一个安全的选择-Julia会使用该环境变量(如果已设置),否则会使用SHELL,最后如果没有设置,则会退回到/bin/sh

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