我正在使用 shell 脚本来运行用 sql 脚本文件编写的 sql。在脚本文件中有一些绑定变量可以从 shell 运行时传递参数。
这是我的代码。
result=`sqlplus -s ${DB_USER_NAME}/${DB_USER_PWD}@${DB_SID}<<!
SET HEADING ON
SET UNDERLINE OFF
SET COLSEP ','
WHENEVER SQLERROR EXIT 255
SET TRIM SPOOL ON
SPOOL $outputPath
@{sqlFilePath} $@
#@${sqlFilePath} "$@"
`
当我像这样运行外壳时:
run_sql.sh param1 param2 "param 3"
$@ 将作为四个变量向 param1,param2,param,3 解释
@{sqlFilePath} param1 param2 param 3
"$@" 将被解释为 "param1 param2 param 3" 作为一个变量
@{sqlFilePath} "param1 param2 param 3"
但我希望参数会这样解释
@{sqlFilePath} param1 param2 "param 3"
有什么办法可以解决我的问题吗?