我的bash:测试
#!/bin/bash
case $1 in
"restore") tar xzvf $2 | mysql --password=my_password --user=my_user my_db;;
*) echo "Others";;
esac
测试:
testing restore bckp_2013.tgz
不工作,在第1行显示“ERROR 1064(42000):您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在”bckp_2013.sql“附近使用正确的语法1"
但这有效:
mysql --password=my_password --user=my_user my_db < bckp_2013.sql
有什么建议吗?感谢。
答案 0 :(得分:1)
试试这个:
#!/bin/bash
case $1 in
"restore") tar xzvf $2;
sqlfile=$(ls -t *.sql | xargs);
mysql --password=my_password --user=my_user my_db < $sqlfile;;
*) echo "Others";;
esac