尝试使用X命令从SAS运行UNIX命令,例如

尝试使用X命令从SAS运行UNIX命令,例如,unix,sas,Unix,Sas,以下是我遵循的步骤。。。。 1) 创建了一个shell脚本/fbrms01/dev/projects/Err_check.sh,其中包含以下代码 Y=`date +'%Y'` M=`date +'%m'` D=`date +'%d'` today=$Y.$M.$D echo $today ls -l /fbrms01/dev/projects/tadis003/*_"$today"*.log | xargs grep "ERROR:" > /fbrms0

以下是我遵循的步骤。。。。 1) 创建了一个shell脚本/fbrms01/dev/projects/Err_check.sh,其中包含以下代码

Y=`date +'%Y'`
  M=`date +'%m'`
  D=`date +'%d'`
  today=$Y.$M.$D
  echo $today
  ls -l /fbrms01/dev/projects/tadis003/*_"$today"*.log | xargs grep "ERROR:" >         /fbrms01/dev/projects/tadis003/log_error.dat
2) 在UNIX上运行shell脚本,它运行良好,创建的.dat文件完全符合我的需要

$sh Err_check.sh
3) 使用X命令在SAS上运行shell脚本…尝试了两种方法

X '/fbrms01/dev/projects/tadis003/sh Err_check.sh';
  X 'sh Err_check.sh';
但它不是在创建.dat文件。。。。 知道我哪里做错了吗。。。。 谢谢
Sam.

您确信您有XCMD选项而不是系统管理员设置的NOXCMD吗?另外,您可能会想,执行shell脚本的SAS可能会在不同的环境中使用不同的用户,而不是执行相同的shell脚本。HI乔,我以前使用过X命令,它工作了……是否意味着XCMD选项被设置为RITE?但是,您确定SAS正在以该用户的身份运行x命令吗?这似乎是最可能的问题之一。引用也可能会有一些问题,但是像这样运行shell脚本应该可以避免这个问题。
/*STEP1:Created a .sh file with following code on unix 
    Y=`date +'%Y'`
    M=`date +'%m'`
    D=`date +'%d'`
    today=$Y.$M.$D
    ls -1 /fbrms01/dev/Logs/JB_*_"$today"_*.log | xargs grep -l "ERROR:" >> /fbrms01/dev/projects/tadis003/log_error.dat*/

/*STEP2:Run the shell script using X command*/
X 'sh /fbrms01/dev/projects/tadis003/log_error.sh';