Por que o sudo -S não funciona para o comando 'mysql'?

1

Eu geralmente executo sudo mysql database < database.dump e digito a senha no prompt.

Para automatizar isso, eu tentei executar o echo 'password' | sudo -S mysql database < database.dump , mas ele não está reconhecendo minha senha.

Eu também tentei sem sucesso:

mysql_cmd="mysql database < database.dump"
echo 'password' | sudo -S $mysql_cmd

Eu posso sudo -S outros comandos normalmente. Qual pode ser o problema?

    
por ftkg 25.10.2013 / 21:22

1 resposta

2

O arquivo database.dump está sendo lido na entrada padrão. sudo -S lê a senha, seguida por uma nova linha, a partir da entrada padrão. Você pode ser capaz de use isso em vez disso:

( echo 'password'; cat database.dump ) | sudo -S mysql database
    
por 25.10.2013 / 21:32

Tags