linux - 如何編寫expect腳本自動導(dǎo)入mysql數(shù)據(jù)庫
問題描述
我的腳本是這樣的test.sh
#!/usr/bin/expectset password rootspawn mysql -u root -pexpect 'password:'send '$passwordrn'send 'drop database blog_api;rn'send 'CREATE DATABASE `blog_api` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;rn'send 'exit;rn'expect 'Bye'send 'mysql -uroot blog_api < 2017-01-09-12:00:09.sql;rn'expect 'Enter password:'send '$passwordrn'interact
導(dǎo)出是沒有問題的,但是導(dǎo)入的話沒有效果,大神求教。。。
問題解答
回答1:你腳本中已經(jīng)設(shè)置了變量password的值,為什么不直接用shell呢,直接執(zhí)行命令mysql -uroot -p $password blog_api < 2017-01-09-12:00:09.sql或者寫成shell腳本不就可以導(dǎo)入了。
回答2:為啥非要用expect呢,這個命令命名可以直接用shell來寫的
#!/usr/bin/env bashmysql -uroot -p ’root’ -e ’drop database if exists blog_api; CREATE DATABASE `blog_api` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;’mysql -uroot -p ’root’ blog_api < 2017-01-09-12:00:09.sql
如果非要用expect的話,試試下面這樣
#!/usr/bin/expectset password ’root’spawn mysql -uroot -p -e 'drop database if exists blog_api; create database `blog_api` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;'expect 'password:'send '$passwordr'expect eofspawn mysql -uroot blog_api < 2017-01-09-12:00:09.sql;expect 'password:'send '$passwordr'expect eof
相關(guān)文章:
1. python - oslo_config2. php傳對應(yīng)的id值為什么傳不了啊有木有大神會的看我下方截圖3. python - scrapy url去重4. 關(guān)于mysql聯(lián)合查詢一對多的顯示結(jié)果問題5. 實現(xiàn)bing搜索工具urlAPI提交6. 數(shù)據(jù)庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。7. python - Django有哪些成功項目?8. 小白學(xué)python的問題 關(guān)于%d和%s的區(qū)別9. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)10. Python從URL中提取域名
