尝试使用X命令从SAS运行UNIX命令,例如
以下是我遵循的步骤。。。。 1) 创建了一个shell脚本/fbrms01/dev/projects/Err_check.sh,其中包含以下代码尝试使用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
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';