Linux 混淆os.execute中的lua返回代码

Linux 混淆os.execute中的lua返回代码,linux,lua,sas,return-code,Linux,Lua,Sas,Return Code,我正在尝试在sas中运行以下代码: proc lua restart; submit; local cmd = "&cmd." local ret_code = os.execute(cmd) sas.symput('ret_code', ret_code) endsubmit; run; 宏变量cmd解析为我要运行的命令。当它成功时,我得到的返回代码等于1(为什么不是0?)。但如果不是,它会变成一个点 我很困惑,为什么我会得到如此奇怪的返回

我正在尝试在sas中运行以下代码:

proc lua restart;
submit;
    local cmd = "&cmd."
    local ret_code = os.execute(cmd)
    sas.symput('ret_code', ret_code)
endsubmit;
run;
宏变量cmd解析为我要运行的命令。当它成功时,我得到的返回代码等于1(为什么不是0?)。但如果不是,它会变成一个点


我很困惑,为什么我会得到如此奇怪的返回值?如果一切正常,如何获取0;如果lua脚本出现问题,如何获取>0?我正在使用linux操作系统

您确定CMD分配正确吗?本地cmd=sas.symget('cmd');我不知道proc lua,但使用单引号(撇号)
而不是
将导致SAS不计算宏变量。请尝试使用
local cmd=“&cmd”。“
然后看看你是否得到了正确的结果。@是的,我用了双引号,对不起,它只是在打字error@data_null_是的,我执行的命令运行properly@DenisKudriavtsev使用这个:localcmd=sas.symget('cmd');