2013-04-02 144 views
0

以下是我遵循的步驟.... 1)創建了一個shell腳本/fbrms01/dev/projects/Err_check.sh,其中包含以下代碼... 。嘗試使用X命令從SAS EG運行UNIX命令

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)跑SAS是shell腳本使用X命令都嘗試

X '/fbrms01/dev/projects/tadis003/sh Err_check.sh'; 
    X 'sh Err_check.sh'; 

但它不是創建.dat文件.... 任何想法,我做錯了...... 謝謝, 山姆。

+0

你確信你有XCMD選項,而不是你的系統管理員設置的NOXCMD?另外,您可能想要考慮執行一個shell腳本的SAS大概會在不同的環境中,並且與執行相同的shell腳本的用戶不同。 – Joe

+0

嗨喬,我以前使用X命令,它的工作......是否意味着XCMD選項設置儀式?UNIX和SAS都使用相同的用戶登錄。大概是 –

+0

。但是,你確定SAS是否以該用戶的身份運行x命令?這似乎是最可能的問題之一。你也可能在引用時遇到一些問題,但像你一樣運行shell腳本應該避免這個問題。 – Joe

回答

1
/*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';