Bash 如何执行用BASE64编码的sas程序?
是否可以执行在BASE64中编码的SAS程序 比如:Bash 如何执行用BASE64编码的sas程序?,bash,file-io,sas,base64,Bash,File Io,Sas,Base64,是否可以执行在BASE64中编码的SAS程序 比如: data _null_; file STDOUT; put "Hello World!"; run; 会是 ZGF0YSBfbnVsbF87CiAgICBmaWxlIFNURE9VVDsKICAgIHB1dCAiSGVsbG8gV29ybGQhIjsKcnVuOw== 然后执行可以这样做: sas 而不是 sas hello.sas 基本上,我需要运行SAS程序,但我不想将其物理存储。我记得(从HPUX时代起)类Unix系统
data _null_;
file STDOUT;
put "Hello World!";
run;
会是
ZGF0YSBfbnVsbF87CiAgICBmaWxlIFNURE9VVDsKICAgIHB1dCAiSGVsbG8gV29ybGQhIjsKcnVuOw==
然后执行可以这样做:
sas
而不是
sas hello.sas
基本上,我需要运行SAS程序,但我不想将其物理存储。我记得(从HPUX时代起)类Unix系统中的SAS对SAS有特殊的处理选项:
-SYSIN
文件名的
意味着从stdin读取程序-
echo ...base64.encoded.sas.source.code... | base64 -decode | sas -sysin -
使用其他选项控制SAS会话和其他管道或重定向,以处理SAS代码生成的标准输出内容。什么操作系统?操作系统是IBM AIX您要查找的命令行选项是
-stdio
。-sysin
选项只是传递程序名的另一种方式。因此sas-sysin xx.sas
与sas xx.sas
相同。我认为,sysin
来自旧的JCL时代,那时它是用于源代码的DDNAME。这真的很有趣,我现在就试试。base64命令在系统上不可用,但我可以使用perl模块获得相同的结果。谢谢所以这对我不起作用,但这是一个好的开始。运行echo ZGF0YSBFBNVSBF87ciagicbmawxlifnure9vvdskicagihb1dcaisgsbg8gv29ybgqhijskcnvuow==| perl-MMIME::Base64-ne'printf“%s\n”,decode|Base64($)| sas-sysin-会给我以下错误:选项sysin需要参数@Tom尝试使用-stdio
而不是-sysin
,如果您有任何关于如何将响应重定向到stdout而不是我感兴趣的物理sas文件的线索,请访问