Shell-Script
執行 ksh 文件時出現模棱兩可的錯誤
我創建了一個 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
到腳本的頂部。