Reg:Shell X command
Actually i want to execute sheel script if the day=6
i am doing like this
data _null_;
if &day=6;
then do;
x 'new.sh';
x 'old.sh';
end;
run;
If i keep like this is was working on all the days acutally &day i my macro variable
from a dataset it was not resoving properly how can i do it.
Hi,
My_SAS since the comparison is onmacro variable the condition should be macr condition and would involve macr if condition:-
data _null_;
%if &day=6;
%then %do;
x 'new.sh';
x 'old.sh';
%end;
run;
try this..
actually is there any way for the x command to execute the shell script if it satisfy the contion i have given
I have not tested this, but just looking at your code, it appears you have an extra semicolon. Try it without the semicolon after the "6". In other words:
if &day = 6 then do;
Karl
X statment cannot be executed from in a datastep. It can be executed conditionally through a macro as shown above.
In a datastep, use call system, or call execute with the x command inside.
data _null_;
if &day=6 then do;
call system('/path/to/new.sh');
call execute('x /path/to/old.sh');
end;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.