Comment automatiquement appuyez sur Entrée dans la script bash lorsque demandé?
Je sais que cette question est posée de nombreuses fois, mais je ne peux toujours pas comprendre comment le faire. C'est peut-être parce que je ne sais pas le bon mot-clé à rechercher.
À l'aide de
echo -ne '\n' | enter
ne fonctionne pas. Mon code est:
#! /bin/bash
#Grub-customizer
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
echo -ne '\n' | return
sudo apt-get update
sudo apt-get install grub-customizer
N'essayez pas. Lorsque vous ne
Qu'est-ce que ce
echo | some_command
, vous pouvez opter soit pour le statut de sortie de echo
ou la sortie de some_command
, selon la façon dont votre shell est actuellement configuré. Vous obtenez beaucoup d', beaucoup plus cohérente et fiable des résultats simplement en invoquant some_command
de telle manière qu'il ne veut pas lire à partir de stdin.Qu'est-ce que ce
enter
commande dont vous parlez? Aussi, return
assez bien il ne tient pas compte de l'entrée standard, de sorte que la tuyauterie quelque chose en elle n'est pas accomplir grand-chose...OriginalL'auteur Ooker | 2014-03-13
Vous devez vous connecter pour publier un commentaire.
Vous êtes censé tuyau de la
\n
dans la ligne de commande qui va le recevoir (sinon, il ne sera plus jamais le voir!):Maintenant, la bonne solution serait plutôt d'utiliser le
-y
drapeaux au lieu:/dev/tty
? Peut-être mieux plus fortement renforcer la-y
drapeau des conseils, ce qui est beaucoup plus sûr d'une chose.Ajout d'exemples pour ceux. Je voudrais cependant suspect apt utilisera
stdin
dans la plupart des cas, maisDEBIAN_FRONTEND
pourrait rompre définitivement à l'aide deecho
.Alors que
echo -ne '\n'
est une copie fidèle de la description du problème, la idiomatiques façon d'écrire qui est justeecho
.Je post le
-y
solution comme la principale réponse, et laecho
fixer comme tangentielle commentaire.OriginalL'auteur Thomas Orozco