¿Hacer que mi Linux (Ubuntu) me pregunte cuál es la contraseña de SQL para no almacenarla en el archivo .sh?

¿Hacer que mi Linux (Ubuntu) me pregunte cuál es la contraseña de SQL para no almacenarla en el archivo .sh?

Tengo un archivo de script que hace una copia de seguridad inmediata de la raíz de documentos de mi servidor y de mis bases de datos y lo copia a mi sistema terminal, desde el cual hice un túnel SSH a mi entorno de servidor:

(
cd /var/www/html
zip -r ./html.zip ./
mysqldump -u USER -p PASSWORD --all-databases > ./db.sql
zip backup.zip html.zip db.sql
scp backup.zip /home/user/backups
rm ./html.zip ./db.sql ./backup.zip
)

Mi problema:

Donde está CONTRASEÑA, necesito escribir mi contraseña manualmente. Esto es algo que quiero evitar porque internalicé esta contraseña en mi mente y también la uso con frecuencia, y no quiero escribirla dentro del script.

Mi ideal:

Preferiría que me solicitaran mi contraseña cada vez que ejecuto el siguiente comando (o algo por el estilo):

mysqldump -u USER --all-databases > ./db.sql

Mi pregunta:

¿Es posible tener ese aviso a través del propio Linux o mediante alguna utilidad existente?

Respuesta1

Desde la página de manual de mysqldump:

 o   --password[=password], -p[password]

           The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the
           --password or -p option on the command line, mysqldump prompts for one.

           Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

Simplemente omita el valor de la contraseña en -pel indicador y mysqldump le solicitará la contraseña.

información relacionada