2010-07-14 18 views
5

Por ejemplo, me gustaría iniciar sesión en mysql con una contraseña. SÉ que puedo usar -pmypass pero quiero aprender cómo redirijo stdin en bash. Así que mi prueba es¿Redirigir STDIN en bash?

mysql -u limited_user -p <text to redirect into stdin when it prompts for my pass> 

me visto < nombre del archivo antes pero no quiero para almacenar los datos en un archivo. Intenté & y &, pero no tuve suerte. No estoy seguro de qué & - hace.

+2

Tenga en cuenta que al ponerlo en una tubería o hacer cualquier cosa excepto stdin interactivo, permite que cada usuario en el sistema vea la contraseña mirando los procesos en ejecución – Daenyth

+0

Daenyth: Escuché eso pero no he preguntado al respecto. ¿Pueden los usuarios no root ver los procesos en ejecución del usuario raíz? ¿Es eso realmente un problema? porque si nadie puede ver su proceso a menos que sean más altos, entonces pueden acceder a sus archivos y ver su contraseña de todos modos? –

+1

sí, al menos en Linux, cualquiera puede ver toda la lista de procesos. – bstpierre

Respuesta

9
command <<< "input" 

Esa es una del bash y echo solución es más común en las secuencias de comandos, aunque mi solución puede ser más útil en un shell interactivo (y dudo que ninguna de estas soluciones funciona con MySQL, pero su pregunta es más general).

+0

Eso es útil , ¡gracias! – chown