gpt4 book ai didi

sql - 如何将具有空格的变量从shell传输到oracle sqlplus

转载 作者:行者123 更新时间:2023-12-04 03:56:17 32 4
gpt4 key购买 nike

我正在使用 shell 脚本来运行用 sql 脚本文件编写的 sql。在脚本文件中有一些绑定(bind)变量可以从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} "$@"
`

当我这样运行 shell 时:

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"

有什么办法可以解决我的问题吗?

最佳答案

怎么样:

run_sql.sh param1 param2 '"param 3"'

这应该在您的脚本中扩展为:

@{sqlFilePath} param1 param2 "param 3"

关于sql - 如何将具有空格的变量从shell传输到oracle sqlplus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14471097/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com