提前谢谢
最后编辑:最终版本'在CygWin上运行,问题在于换行符,CrLf代替Lf。
#!/bin/sh
##################################################
## USAGE
##################################################
if [ $# -ne 1 ]; then
echo "1>Use Extractor: $0 <MODO DE OPERACAO>"
echo "2>Use Extractor: $0 <MODO DE OPERACAO> <DATA INICIAL> <DATA FINAL>"
exit 127
else
if [ $1 -lt 0 ]; then
if [ $1 -gt 1 ]; then
echo "2>Use Extractor: $0 <MODO DE OPERACAO> <DATA INICIAL> <DATA FINAL>"
exit 127
fi
fi
fi
##################################################
## VARS
##################################################
##########################################
## AUX
##########################################
set java_cmd=""
set java_cmd_emergencial=""
set java_cp=""
##########################################
## JAR
##########################################
set db_user=""
set db_pwd=""
set conn_string=""
set work_dir=""
set output_dir=""
##################################################
## PARAMETROS
##################################################
set mode=$1
set data_ini=""
set data_fim=""
if [ $# -eq 3 ]; then
set data_ini = $2
set data_fim = $3
fi
##################################################
## CHAMADA DO JAR
##################################################
java "$java_cp" "$java_cmd" "$mode" "$db_user" "$db_pwd" "$conn_string" "$work_dir" "$output_dir"
答案 0 :(得分:3)
“set”不是bash语法。而不是“设置foo = bar”,你想要“foo = bar”。
注意:由于某种原因,我写了没有空格的更正表格。 有以这种方式编写。您更新的问题仍然是错误的。
答案 1 :(得分:2)
在MacOS X 10.5.6上运行没有错误,除了这一行:
if [ $1 -lt 0 -o gt 1 ];
应该是
if [ $1 -lt 0 -o $1 -gt 1 ];
我没有评论脚本的其余部分是否真的按照它应该做的......
答案 2 :(得分:2)
您可能希望在最后一行引用必填字段。现在它将是一个空白而不是“”。
例如
java "$java_cp" "$java_cmd" "$mode" "$db_user" "$db_pwd" "$conn_string" "$work_dir" "$output_dir"
编辑到至少在mysystem上运行java:
#################################################
#!/bin/sh
##################################################
## USAGE
##################################################
if [ $# -ne 1 ]; then
echo "1>Use Extractor: $0 <MODO DE OPERACAO>;"
echo "2>Use Extractor: $0 <MODO DE OPERACAO> <DATA INICIAL> <DATA FINAL>"
exit 127
else
if [ $1 -lt 0 -o $1 -gt 1 ]; then
echo "1>O Parametro <MODO DE OPERACAO> deve ser 0 (Cartorios) ou 1 (Transacoes);"
exit 127
fi
fi
##################################################
## VARS
##################################################
##########################################
## AUX
##########################################
java_cmd=""
java_cmd_emergencial=""
java_cp=""
##########################################
## JAR
##########################################
db_user=""
db_pwd=""
conn_string=""
work_dir=""
output_dir=""
##################################################
## PARAMETROS
##################################################
mode=$1
data_ini=""
data_fim=""
if [ $# -eq 3 ]; then
data_ini=$2
data_fim=$3
fi
##################################################
## CHAMADA DO JAR
##################################################
java $java_cp $java_cmd $mode $db_user $db_pwd $conn_string $work_dir $output_dir
答案 3 :(得分:2)
如果没有别的,请仔细检查脚本中最后一行末尾是否有换行符。