![执行 ksh 文件时出现不明确的错误](https://linux22.com/image/152429/%E6%89%A7%E8%A1%8C%20ksh%20%E6%96%87%E4%BB%B6%E6%97%B6%E5%87%BA%E7%8E%B0%E4%B8%8D%E6%98%8E%E7%A1%AE%E7%9A%84%E9%94%99%E8%AF%AF.png)
我创建了一个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
到顶部脚本的。