如何执行BASE64编码的sas程序?

How to execute sas program encoded with BASE64?

是否可以执行以 BASE64 编码的 SAS 程序。

类似于:

data _null_;
    file STDOUT;
    put "Hello World!";
run;

会是

ZGF0YSBfbnVsbF87CiAgICBmaWxlIFNURE9VVDsKICAgIHB1dCAiSGVsbG8gV29ybGQhIjsKcnVuOw==

然后可以这样执行:

sas < <ENCODED-SAS-PROGRAM>

而不是 sas hello.sas

基本上,我需要 运行 一个 SAS 程序,但我不想物理存储它。

我记得(从 HPUX 时代起)类 Unix 系统中的 SAS 对 SAS 选项进行了特殊处理:

  • -SYSIN <sas code filename>
    文件名的 - 意味着从标准输入读取程序。

如果是这样你可以试试

echo ...base64.encoded.sas.source.code... | base64 -decode | sas -sysin -

使用其他选项来控制 SAS 会话和其他管道或重定向以处理由您的 SAS 代码生成的 STDOUT 内容。