我创建了一个audit.ksh 文件,用于清除旧的“*.aud”文件。但是当我运行这个文件时出现以下错误。奇怪的是,文件内的命令在提示符下公开执行时工作正常。用户处于 C shell 中。
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
你的什shell 脚本没有 sh-bang 行指示它应该使用 ksh 运行,因此您的 csh shell 正在尝试运行它(使用/bin/sh
,这是抱怨语法的一个export RES_RETRY=1
)。添加 sh-bang 行
#!/bin/ksh
到顶部脚本的。