私は通常sudo mysql database < database.dump
メッセージが表示されたらパスワードを実行して入力します。
これを自動化するために実行しようとしましたが、echo 'password' | sudo -S mysql database < database.dump
パスワードを認識しませんでした。
私も成功しませんでした。
mysql_cmd="mysql database < database.dump"
echo 'password' | sudo -S $mysql_cmd
他のコマンドを正常に実行できますsudo -S
。何が問題なのでしょうか?
答え1
database.dump
ファイルを標準入力として読み込んでいます。sudo -S
標準入力からパスワードを読み、その後に改行文字が続きます。代わりに、以下を使用することもできます。
( echo 'password'; cat database.dump ) | sudo -S mysql database