"mysql" 명령에 대해 sudo -S가 작동하지 않는 이유는 무엇입니까?

"mysql" 명령에 대해 sudo -S가 작동하지 않는 이유는 무엇입니까?

나는 보통 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

관련 정보