J'ai créé un script bash très simple qui exécute quelques commandes. l'une de ces commandes nécessite une entrée de l'utilisateur pendant l'exécution. c'est-à-dire qu'il demande à l'utilisateur "voulez-vous bla bla bla?", je veux simplement envoyer une touche de saisie à ceci afin que le script soit complètement automatisé.
Je n'aurai pas à attendre l'entrée ou quoi que ce soit pendant l'exécution, il suffit d'envoyer simplement la touche et le tampon d'entrée gérera le reste.
apt-get
, la solution appropriée est de préconfigurer la base de données debconf avec vos valeurs préférées; alors il ne vous le demandera pas.Réponses:
ou profiter de la nouvelle ligne implicite que l'écho génère (merci Marcin)
Maintenant, nous pouvons simplement utiliser l'
--sk
option:c'est à dire
sudo rkhunter --sk --checkall
la source
xxd
vous obtenez5c6e
hex, qui est un littéral\n
. si vous faites juste,echo | xxd
vous vous retrouvez avec un hexagone de0a
. Donc, je suppose que vous utilisez ce dont votre programme a besoin.0a0a
ce qui n'est toujours pas comme prévu, l'ajout d'un-n
supprime le saut de ligne implicite. Mais vous avez bien sûr raison, une plaineecho | ...
fonctionne bien ici. Mettra à jour ma réponse.5c6e
? Avez-vous omis-e
ou votre shellecho
traite-t-il ou non cette option?echo -ne "\n" | xxd 0000000: 0a
etecho -n "\n" | xxd 0000000: 5c6e
etecho "\n" | xxd 0000000: 5c6e 0a
je n'ai vu aucune différence entre les guillemets simples et doubles. Mon shell est juste une bash régulière, y a-t-il des paramètres qui réguleraient le comportement de ces fonctionnalités de base?Vous pourriez trouver la
yes
commande utile.Voir
man yes
la source
yes
Je trouve cela utile.yes
envoie comme sortie. Lisez la page de manuel.Vous pouvez simplement utiliser oui .
la source
Voici un exemple d'utilisation utilisant
expect
:Vérifiez:
man expect
pour plus d'informations.la source
Vous pouvez utiliser expect ( man expect vient avec des exemples).
la source