【发布时间】:2013-01-29 14:11:55
【问题描述】:
我有一个关于 Shell 变量替换的问题。
要求: 我需要在 mysql db 中插入一些东西。而且我不想在主 shell 中编写插入脚本,所以我想将插入 sql 脚本定义为变量 $SQL 。 这个变量和许多其他变量存储在另一个名为 sql.cfg 的文件中
但是这个变量将引用另一个变量 $Value。 当我执行主 shell 时,$Value 将被实际值替换。
示例: 在 sql.cfg 中
SQL="insert into table column1,column2 values($Value1,$Value2)"
DB_NAME=dbname
DB_IP=192.168.0.x
USR=username
PWD=password
在 main.sh 中
. ./sql.cfg
Value1=100
Value2=200
` mysql $DB_NAME -h$DB_IP -u $USR -p$PWD -se "$SQL;"`
问题:
如何正确地将 $sql 替换为 $Value1 $Value2 以便我可以将它们插入到 mysql db 中?
非常感谢!!!
【问题讨论】:
-
在你的main.sh中,我看到了$sql,不应该是$SQL吗?
-
是的,你是对的。这是一个错误。