Quand j'entrais dans la commande
su > echo "sachin"
il demandait un mot de passe. Lorsque j'ai donné mon mot de passe, des choses étranges se sont produites, comme vous pouvez le voir:
Une dernière chose: il y a un autre utilisateur, Hadoop , sur mon ordinateur portable, mais quand je le fais
su > echo "Hadoop"
ça dit
aucune entrée passwd pour Hadoop
Qu'est-ce que ça veut dire?
command-line
bash
sudo
Sachin Setiya
la source
la source
echo
n'est pas exécuté. c'est après la commande de redirection ">", il est donc lu comme un nom de fichier. Le reste de l'argument est passésu
comme d'habitude!su $(echo "sachin")
. Cela ferait ce que vous dites.Réponses:
Ah! Joli puzzle!
Dites simplement "
exit
", et tous vos fichiers seront là (et la sortie que vous manquez dans un fichier appeléecho
).Explication:
est le même que
Vous démarrez donc un (sous) shell avec
su
(changer d'utilisateur) vers votre utilisateur, toutes les sorties étant redirigées vers un fichier appeléecho
!Regardez:
la source
su user > echo
tout le temps, et> echo su user
avec une certaine fréquence, maissu > echo user
presque jamais, car il n'y a rarement aucune raison pratique d'écrire une commande d'une manière aussi déroutante. (Cependant, cette syntaxe est acceptée est parfois utile lors de la génération automatique de commandes à partir d'un programme ou d'un script.)su > stdout.txt user
ne serait pas si difficile ...