繁体   English   中英

如何将变量值分配给另一个文件中的变量?

[英]How to assign a variable value to a variable from another file?

我有一个 sql 文件abc.sql有一个 SELECT Z9778840A0100CB30C982Z2876741B0B5A

SELECT COL FROM $D_SCHEMA.TABLE;

我有一个 shell 脚本script.ksh

D_SCHEMA=DEV
EXEC_SQL=`cat abc.sql`
#echo $EXEC_SQL

#Function db_sql, which exports data to a csv file
db_sql "EXPORT TO /app/dev FILE ${EXEC_SQL}"

现在,当将内容分配给 shell 脚本中的变量时,我无法从 sql 文件中将值分配给$D_SCHEMA

目前,该变量在 shell 脚本中被视为文字。

echo $EXEC_SQL
SELECT COL FROM $D_SCHEMA.TABLE

预期 output

echo $EXEC_SQL
SELECT COL FROM DEV.TABLE

我该如何解决这个问题?

#!/bin/ksh

# one example using eval

D_SCHEMA=DEV
EXEC_SQL='SELECT COL FROM $D_SCHEMA.TABLE'

echo "$EXEC_SQL"
# output: SELECT COL FROM $D_SCHEMA.TABLE

eval new_var=\""$EXEC_SQL"\"
echo "$new_var"
# output: SELECT COL FROM DEV.TABLE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM