Julia spawn 'source' 导致没有这样的文件或目录

Mag*_*eek 2 julia

Julia 的run函数似乎难以运行source。奇怪的是,如果我在 shell 中运行完全相同的命令,它就没有问题。

有没有办法从 Julia 以编程方式运行命令?

julia> cmd = "/home/me/tensorflow/bin/activate"
"/home/me/tensorflow/bin/activate"

julia> run(`ls $cmd`)
/home/me/tensorflow/bin/activate

julia> run(`source $cmd`)
ERROR: could not spawn `source /home/me/tensorflow/bin/activate`: no such file or directory (ENOENT)
 in _jl_spawn at process.jl:262
 in anonymous at process.jl:415
 in setup_stdio at ./process.jl:403
 in __spawn#58__ at ./process.jl:414
 in run at ./process.jl:530

shell> source /home/me/tensorflow/bin/activate
Run Code Online (Sandbox Code Playgroud)

pyt*_*必须死 5

source 是内置命令

试试这样:

run(`zsh -c "source $cmd"`)

run(`bash -c source $cmd`)
Run Code Online (Sandbox Code Playgroud)

视窗:

run(`cmd /c 'echo xxx'`)
Run Code Online (Sandbox Code Playgroud)