如何将具有空格的变量从shell传输到oracle sqlplus
我正在使用shell脚本运行sql脚本文件中编写的sql。 在脚本文件中,有一些绑定变量可以从 shell运行时参数 这是我的密码如何将具有空格的变量从shell传输到oracle sqlplus,sql,oracle,shell,variables,sqlplus,Sql,Oracle,Shell,Variables,Sqlplus,我正在使用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
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} "$@"
`
$@将作为四个变量解释给param1、param2、param、3
@{sqlFilePath} param1 param2 param 3
“$@”将作为一个变量解释为“param1 param2 param 3”
@{sqlFilePath} "param1 param2 param 3"
但是我希望这些参数可以这样解释
@{sqlFilePath} param1 param2 "param 3"
有什么办法解决我的问题吗?怎么样:
run_sql.sh param1 param2 '"param 3"'
应在脚本中展开以:
@{sqlFilePath} param1 param2 "param 3"
致DCookie:非常感谢!它在我的脚本上运行得很好。我应该可以找到双引号和单引号的详细信息。@user966610:在这里查看bash手册页:
@{sqlFilePath} param1 param2 "param 3"