Cuando estaba ingresando el comando
su > echo "sachin"
estaba pidiendo una contraseña. Cuando le di mi contraseña, sucedieron algunas cosas extrañas como puedes ver:
Una cosa más: hay otro usuario, Hadoop , en mi computadora portátil, pero cuando lo hago
su > echo "Hadoop"
dice
sin entrada passwd para Hadoop
¿Qué significa esto?
command-line
bash
sudo
Sachin Setiya
fuente
fuente
echo
no se ejecuta. está después del comando de redirección ">", por lo que se lee como un nombre de archivo. ¡El resto de la discusión se pasasu
como de costumbre!su $(echo "sachin")
. Eso haría lo que estás diciendo.Respuestas:
Ah! Bonito rompecabezas!
Simplemente diga "
exit
", y todos sus archivos estarán allí (y la salida que pierde en un archivo llamadoecho
).Explicación:
es lo mismo que
¡Entonces está comenzando un (sub) shell con
su
(cambiar de usuario) a su usuario, con toda la salida redirigida a un archivo llamadoecho
!Mira:
fuente
su user > echo
todo el tiempo, y> echo su user
con cierta frecuencia, perosu > echo user
casi nunca, ya que rara vez hay alguna razón práctica para escribir un comando de una manera tan confusa. (Sin embargo, que tal sintaxis sea aceptada es útil ocasionalmente cuando se generan comandos automáticamente desde un programa o script).su > stdout.txt user
no sería tan complicado ...