Shell-Script

執行 ksh 文件時出現模棱兩可的錯誤

  • April 25, 2019

我創建了一個 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>

您的ksh shell 腳本沒有 sh-bang 行表明它應該與 ksh 一起執行,因此您的 csh shell 正在嘗試執行它(使用/bin/sh,這是抱怨export RES_RETRY=1語法的那個)。添加 sh-bang 行

#!/bin/ksh

到腳本的頂部

引用自:https://unix.stackexchange.com/questions/515438