我有一个bat文件,我converted
进入script file
。但是当我运行它时,这个文件似乎不起作用并给我错误line 45: syntax error: unexpected end of file
sh -x 1213.sh
这个档案有什么问题?谁能请帮忙。我是新手。
set +v
if "$1"=="" printError
if "$2"=="" printError
if "$3"=="" printError
if "$4"=="" printError
export abc_env=$1
export type=$2
export filename=$3
export cutdate=$4
export abc_HOME=.
export LOG_BASE=.
export BATCH_SOURCE_DIR=.
export CLASSPATH=$abc_HOME\abc-batch\;$abc_HOME\lib\*;$abc_HOME\abc-batch\environment\
export CLASSPATH=$CLASSPATH;$xyz_HOME\lib\thirdparty\*;$xyz_HOME\lib\*
export COMMAND=java -Dbatch.source.dir=$BATCH_SOURCE_DIR -Dsystem.dir=$LOG_BASE
export COMMAND= $COMMAND -Dxyz.bootstrap.file=$abc_HOME$\abc-batch\environment\$xyz_BOOTSTRAP_FILE
export COMMAND= $COMMAND -Dxyz.settings=$abc_HOME\abc-batch\environment\$xyz_SETTINGS_XML
if "$type"="filter" $COMMAND com.lol.mib.risk.abc.batch.migration.Loader $filename $cutdate $1 $2 $3 $4 $5 $6 $7 $8 $9
endHere
printError
echo on
echo ERROR - missing parameter. Usage: loadFilterview [environment name] [filter|view] [path and name of input xls file] [cut-over date (dd-MMM-YYYY)
endHere
答案 0 :(得分:1)
您需要以这种方式进行更改:
#!/bin/bash
function printError()
{
echo "Argument expected!"
}
#other struff
if [ "x$1" == "x" ]; then
printError
fi
#other stuff
exit 0