当我尝试在ipython或julia repl中运行shell命令时,它只会显示
shell> ls
zsh:1: command not found: ls
不确定是否重要,但是我将路径设置在zshenv而不是zshrc中,以便emacs shell可以工作。
有什么想法吗?
编辑: 我在macOS 10.14.6上
答案 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不太熟悉,但我敢打赌它正在做类似的事情。