[英]Error in Bash script to check existing file in Solaris
我可以在Solaris上編譯oracle表單並創建腳本。 該腳本應檢查是否創建了.fmx,然后刪除.err文件。 這是我的腳本,但是我收到以下錯誤
刪除錯誤文件的代碼
export FORMS_PATH=export FORMS_PATH=/apps/apps/frmcompile/cmteam/hla
for FILE in `ls $FORMS_PATH/*.fmx`; do
if exist "$FILE/*.fmx";
then
rm $FILE/err
fi
done
遇到錯誤
rmerr.sh [3]:存在:找不到[沒有這樣的文件或目錄]
常規文件測試使用"-f"
export FORMS_PATH=export FORMS_PATH=/apps/apps/frmcompile/cmteam/hla
for FILE in `ls $FORMS_PATH/*.fmx`; do
# True if file exists and is a regular file.
if [ -f "$FILE/*.fmx"]; then
rm $FILE/err
fi
done
這可能是您要執行的操作,但是尚不清楚.fmx和.err文件的位置:
export FORMS_PATH=/apps/apps/frmcompile/cmteam/hla for FILE in $FORMS_PATH/*.fmx; do b=$(basename $FILE) [ -f "$b" ] && rm ${b%fmx}err done
“ .err”是文件,但是您在此處列出“ err”。 這里還有其他問題:
導出FORMS_PATH =導出FORMS_PATH = / apps / apps / frmcompile / cmteam / hla
替換為“ FORMS_PATH = / apps / apps / frmcompile / cmteam / hla”
ls $FORMS_PATH/*.fmx
; 文件包含每個以“ .fmx”結尾的文件 所以最好使用這個:
#!/bin/sh OR #!/bin/bash
FORMS_PATH=/apps/apps/frmcompile/cmteam/hla
for fmx in $FORMS_PATH/*.fmx; do
# remove your files ending in .err instead of .fmx
/bin/rm "${fmx%.fmx}.err # only valid with bash
done
湯姆
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.