【发布时间】:2013-04-15 14:07:14
【问题描述】:
我正在帮助创建一个社区项目的解决方案,以社区精神免费监测河流水位。这项工作的最终产品将是一个系统,该系统从河流水位探测器中获取数据,并为在线社区生成图表。
我是该项目的早期,并且由于我熟悉 Bash,因此我正在使用它从包含数据的探测器中获取一个文本文件并将其推送到 MySQL 数据库中。一切都很顺利,直到我遇到了一个绊脚石。我的许多数据库表列都是数字,因此必须使用 MySQL 命令行工具与这些列进行交互。不幸的是,我想从 MySQL 语句中获取输出并将其放入一个变量中,但我认为由于两组反引号,MySQL 没有得到正确的命令。
我已经用一个像这样的讨厌的工作来捏造它,这一切都是低效的:
mysql -N -D $targetDatabase -e "select \`"$timeSample"\` from RiverDataDays where date="$dateOfFile";" >tmpValue
dbEntry=`cat tmpValue`
echo $dbEntry
但实际上,我想做的是将它直接推入这样的变量中:
dbEntry=`mysql -N -D $targetDatabase -e "select \`"$timeSample"\` from RiverDataDays where date="$dateOfFile";"`
echo $dbEntry
【问题讨论】:
-
引号内的反引号前的反斜杠不起作用?而且你不应该逃避第一个反引号。