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

How to assign a variable value to a variable from another file?

我有一个 sql 文件 abc.sql 有一个 SELECT SQL 语句

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}"

现在我无法将值分配给 $D_SCHEMA 时内容分配给 shell 脚本中的一个变量。

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

echo $EXEC_SQL
SELECT COL FROM $D_SCHEMA.TABLE

预期输出

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