오래된 "*.aud" 파일을 정리하는 audit.ksh 파일을 만들었습니다. 하지만 이 파일을 실행하면 다음과 같은 오류가 발생합니다. 이상하게도 파일 내의 명령은 프롬프트에서 공개적으로 실행될 때 제대로 작동합니다. 사용자가 C 쉘에 있습니다.
TxxxxD01:user 55>./aud_clean.ksh
export RES_RETRY=1: 0402-026 The specified data is not a valid identifier.
TxxxxD01:user 56> echo $SHELL
/usr/bin/csh
TxxxxD01:user 57> cat aud_clean.ksh
cd /oracle/SID/saptrace/audit
find *.aud -mtime +3 -exec rm {} \;
TxxxxD01:user 60> cd /oracle/SID/saptrace/audit
TxxxxD01:user 61> find *.aud -mtime +3 -exec rm {} \;
TxxxxD01:user 62>
답변1
당신의변화 많은쉘 스크립트에는 ksh를 사용하여 실행해야 함을 나타내는 sh-bang 줄이 없으므로 csh 쉘이 이를 실행하려고 합니다( /bin/sh
구문에 대해 불평하는 을 사용하여 export RES_RETRY=1
). 쉬뱅라인 추가
#!/bin/ksh
도착하다맨 위스크립팅됨.