0

我无法将通过 java 类调用的过程中的参数传递给 shell 脚本,如下所示。我不能在我的 shell 脚本中使用过程代码而不是 JAVA,因为该脚本将在许多地区使用,并且数据库凭据有所不同.有人可以帮我解决这个问题吗?

#!/bin/ksh
# Setup common environment
. `dirname $0`/db_env.sh

SP_NAME=P_MNR_EE_TMP_CHK
SP_SCHEMA_PROP=utils.miner.user
DB_USER_PROP=utils.miner.user
DB_PASSWD_PROP=utils.miner.password


$JAVA -classpath $CLASSPATH -DCONFIGDIR=${CONFIGDIR} com.mantas.dbtools.util.RunStoredProcedure $DB_USER_PROP $DB_PASSWD_PROP $SP_SCHEMA_PROP $SP_NAME
return $?
4

1 回答 1

0

一种解决方法是在控制台上打印出参数(在您的 java 应用程序中),然后使用如下内容:

out=`$JAVA -classpath $CLASSPATH -DCONFIGDIR=${CONFIGDIR} com.mantas.dbtools.util.RunStoredProcedure $DB_USER_PROP $DB_PASSWD_PROP $SP_SCHEMA_PROP $SP_NAME`

return $out
于 2013-07-10T13:11:15.860 回答