• ベストアンサー

シェルの変数をMySQLに送る方法が分かりません

おはようございます。 前回、MySQLのデータをシェルの変数に入れるという件で質問しましたが、 今度は逆にシェルの変数をMySQLのクエリに送りたいのですが、括弧で 括ってみたり、'や"で括ってみたりしたのですがどうにも上手く行きません。 そのようなことはできないのでしょうか? やりたいことはシェルで保持している変数をMySQLのレコードに登録です。 ご存知の方、是非方法を御教授下さい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.1

↓のような事? ○テーブルの確認(mysqlコマンド) mysql> desc test.test; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | num | int(10) | | PRI | 0 | | | text | varchar(255) | | | | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.01 sec) ○空のテーブル mysql> select * from test.test; Empty set (0.00 sec) ○シェルスクリプトの実行(テーブルtest.testへのINSERT) alfheim# cat mysql.sh #!/bin/sh NUM=0 TEXT="TEST" echo "INSERT INTO test.test (num ,text) VALUES ('$NUM', '$TEXT');" | mysql -u root -ppassword #./mysql.sh ○テーブルへの追加確認(mysqlコマンド) mysql> select * from test.test; +-----+------+ | num | text | +-----+------+ | 0 | TEST | +-----+------+ 1 row in set (0.00 sec)

sollalice
質問者

お礼

御教授いただいた方法で上手く処理できました。 この処理が上手く出来ずにずっと止まっていましたが、 やっと先に進めます。 ありがとうございました。

sollalice
質問者

補足

Lean様 処理として、 1.アカウント予約テーブルからデータを読み込み、シェルスクリプトの変数にセットする。 2.読み込んだ変数をもとにLinuxのユーザアカウントを作成する。 3.ユーザアカウント存在ユーザ名テーブルにユーザ名を書き込む。 4.アカウント予約テーブルから登録したユーザを削除する。 今3で詰まっているのでまさしくこれです。 これが解決できれば(シェルスクリプトの変数を使ってMySQLのクエリを発行できれば) 4も多分解決できると思います。 早速やってみます。

関連するQ&A