簡體   English   中英

如何將參數傳遞給UNIX Shell腳本以在UNIX環境中運行作業

[英]How to Pass parameter to an unix shell script to run a job in an unix environment

我正在嘗試運行.sh腳本,這基本上會觸發作業,我正在嘗試將參數傳遞到.sh文件,但是我反復出現錯誤。此sh將運行腳本並執行一批會產生一些輸出並將保存在文件中。

下面是文件夾結構 在此處輸入圖片說明

JAVA=$APPSERVER/java/bin
BATCHPROGRAM=com.i21.framework.SystemBootstrap
APPNAME=BATCH_${REGION}
APPDIR=/apps/$APPNAME
#FRAMEWORKDIR=$APPDIR/Framework
BATCHDIR=$APPDIR/DNQLETTER
FRAMEWORKJARLOC=$APPDIR/lib
BATCHJARLOC=$BATCHDIR/lib

FRAMEWORKCONFIG=$APPDIR/config/
BATCHCONFIG=$BATCHDIR/config/

LOG=/logs21C/$APPNAME/DNQLETTER/
DATE_TIME_STAMP=`$DATE +%Y%m%d.log`;
LOGFILE="${LOG}/batch"_"$DATE_TIME_STAMP"

#--------------------------------------------------------------------
# Create the error file and the log file if they do not exist
#--------------------------------------------------------------------
$TOUCH $LOGFILE
$CHMOD 666 $LOGFILE  2>> /dev/null

這是我得到的錯誤

./ProcessBatch.sh DEV1 This i am trying using to pass the BATCH Region

我低於錯誤

/bin/touch: cannot touch `/logs21C/BATCH_/DNQLETTER//batch_20170627.log': No such file or directory
./ProcessBatch.sh[80]: /logs21C/BATCH_/DNQLETTER//batch_20170627.log: cannot 
create [No such file or directory]
/bin/ls: /apps/BATCH_/lib/*.jar: No such file or directory
/bin/ls: /apps/BATCH_/DNQLETTER/lib/*.jar: No such file or directory
/bin/ls: /apps/BATCH_/DNQLETTER/config//*.*: No such file or directory
/bin/ls: /apps/BATCH_/config//*.*: No such file or directory

我將從LOG的定義中刪除最后的斜杠,但這不是您遇到錯誤的原因(稍后可能會引起麻煩)。 該錯誤的原因是:

  1. 您的錯誤消息意味着目錄/logs21C/BATCH_/DNQLETTER不存在。

  2. 我們還可以看到變量REGION為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM