SQLスクリプトファイルに書かれたSQLを実行するためにシェルスクリプトを使用しています。スクリプト ファイルには、シェル ランタイム パラメータから転送できるバインド変数がいくつかあります。
これが私のコードです。
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 に 4 つの変数として説明されます
@{sqlFilePath} param1 param2 param 3
「$@」は「param1 param2 param 3」に 1 つの変数として説明されます
@{sqlFilePath} "param1 param2 param 3"
しかし、私はパラメータがこのように説明されることを望みます
@{sqlFilePath} param1 param2 "param 3"
私の問題を解決する方法はありますか?