• ベストアンサー

対話形式処理のスクリプト化

例えば次のような処理をスクリプトやマクロで行いたいのですが可能でしょうか? (シェル言語はbash,zshなどを想定しておりますが他の言語を想定したご回答でも参考になります) ちなみに対話途中で表示される出力結果はあってもなくても構いませんが 出力結果を表示させないようなやり方から理解したいと考えております。 # mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 to server version: 4.1.12 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select user,host,password from ysql.user; +------+----------------------+----------+ | user | host | password | +------+----------------------+----------+ | root | localhost | | | root | centos.centossrv.com | | | | localhost | | | | centos.centossrv.com | | +------+----------------------+----------+ 4 rows in set (0.00 sec) mysql> set password for root@localhost=password('rootパスワード'); Query OK, 0 rows affected (0.00 sec) mysql> set password for root@'centos.centossrv.com'=password('rootパスワード'); Query OK, 0 rows affected (0.00 sec) mysql> select user,host,password from mysql.user; +------+----------------------+------------------+ | user | host | password | +------+----------------------+------------------+ | root | localhost | **************** | | root | centos.centossrv.com | **************** | | | localhost | | | | centos.centossrv.com | | +------+----------------------+------------------+ 4 rows in set (0.00 sec) mysql> exit Bye

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

  • ベストアンサー
  • Keck-init
  • ベストアンサー率100% (1/1)
回答No.2

対話形式の処理にはExpectが便利です。 当然mysql以外の処理にも利用可能です。 以下のURLをご参考に。 http://www.itbook.info/study/p107.html

参考URL:
http://www.itbook.info/study/p107.html
SariGEnNu
質問者

お礼

ありがとうこざいます。 参考URLも拝見させていただいて、Expectは大変参考になりそうです。 ぜひ、活用したいと思います。

その他の回答 (1)

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.1

mysql database < script.sql > output.tab だそうですが。。。

参考URL:
http://dev.mysql.com/doc/refman/4.1/ja/mysql.html
SariGEnNu
質問者

お礼

ありがとうございます。 これはSQLの実行しか対応していないのでしょうか? 私の本音はmysqlの場合のみならず、一汎的に対話形式をスクリプトかできることを望んでいますが、 ですが、これだけでも有用だと思うのでよく理解していきたいと思います。

関連するQ&A