是否有办法确定是否已从命令行通过myprog.jl
或从[PL]或julia myprog.jl
调用了茱莉亚脚本include("myprog.jl")
?
[背景:我正在使用ArgParse.jl程序包,并且由于无法从REPL传递命令行参数,因此我想在调用ARGS = "argA --optB 1 --flagC"
之前先设置一个变量include("myprog.jl")
,以获得与[相同的结果C0]。为此,我需要知道该程序是从命令行还是从REPL调用的,这样我就可以编写类似于
julia myprog.jl argA --optB 1 --flagC
是否有办法确定是否已从命令行通过julia myprog.jl从julia脚本myprog.jl或通过include(“ myprog.jl”)从REPL调用了脚本?背景:我正在使用ArgParse.jl ...
是的,这是可能的。 Base定义常量if called_from_repl
parse_args(ARGS,s)
else
parse_args(s)
end
,其中包含在命令行上传递的脚本名称。宏Base.PROGRAM_FILE
计算出调用此宏的脚本的路径。
只需使用https://docs.julialang.org/en/latest/manual/faq/#man-scripting-1确定Julia是否正在运行交互式会话。