- ベストアンサー
対話形式処理のスクリプト化
例えば次のような処理をスクリプトやマクロで行いたいのですが可能でしょうか? (シェル言語は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
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
対話形式の処理にはExpectが便利です。 当然mysql以外の処理にも利用可能です。 以下のURLをご参考に。 http://www.itbook.info/study/p107.html
その他の回答 (1)
- a-saitoh
- ベストアンサー率30% (524/1722)
mysql database < script.sql > output.tab だそうですが。。。
お礼
ありがとうございます。 これはSQLの実行しか対応していないのでしょうか? 私の本音はmysqlの場合のみならず、一汎的に対話形式をスクリプトかできることを望んでいますが、 ですが、これだけでも有用だと思うのでよく理解していきたいと思います。
お礼
ありがとうこざいます。 参考URLも拝見させていただいて、Expectは大変参考になりそうです。 ぜひ、活用したいと思います。