0

私のバッシュ:テスト

#!/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 構文にエラーがあります。1 行目の 'bckp_2013.sql' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください」と表示されます。

しかし、これは機能します:

mysql --password=my_password --user=my_user my_db < bckp_2013.sql

助言がありますか?ありがとう。

4

1 に答える 1

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
于 2013-10-09T01:14:57.357 に答える