3

私はコミュニティの精神で、川の水位を無料で監視するコミュニティ プロジェクトのソリューションを作成するのを手伝っています。この取り組みの最終的な成果物は、河川水位調査からデータを取得し、オンライン コミュニティ用のグラフを生成するシステムになります。

私はプロジェクトの初期段階にあり、Bash に精通しているので、これを使用してプローブからデータを含むテキスト ファイルを取得し、それを MySQL データベースにプッシュしています。つまずきのブロックにぶつかるまで、すべてが本当にうまくいっています。データベース テーブルの列の多くは数値であるため、MySQL コマンド ライン ツールを使用してこれらと対話するには、バッククォートを使用する必要があります。残念ながら、MySQL ステートメントからの出力を取得して変数に入れたいのですが、2 組のバック ティックが原因で、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
4

2 に答える 2

0

スプートニックのリンクをたどった: - http://mywiki.wooledge.org/BashFAQ/082

そして、それに応じてコードを修正しました

dbEntry=$(mysql -N -D $targetDatabase -e "select \`"$timeSample"\` from RiverDataDays where date="$dateOfFile";")

エコー $dbEntry

素晴らしいフォーラム - ありがとうございました :)

于 2013-04-15T06:07:14.857 に答える