J'ai créé un script bash très simple qui exécute quelques commandes. l'une de ces commandes nécessite la saisie de l'utilisateur pendant l'exécution. c’est-à-dire qu’il demande à l’utilisateur "voulez-vous bla bla bla?", je veux simplement envoyer un appui sur cette touche pour 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 la touche et le tampon d'entrée gérera le reste.
echo -ne '\n' | <yourfinecommandhere>
ou profiter de la nouvelle ligne implicite générée par l'écho (merci Marcin)
echo | <yourfinecommandhere>
Maintenant, nous pouvons simplement utiliser le --sk
option:
--sk
,--skip-keypress
N'attendez pas une frappe après chaque test
c'est à dire. Sudo rkhunter --sk --checkall
Vous pourriez trouver utile la commande yes
.
Voir man yes
Vous pouvez simplement utiliser oui .
# yes "" | someCommand
Voici un exemple d'utilisation utilisant expect
:
#!/usr/bin/expect
set timeout 360
spawn my_command # Replace with your command.
expect "Do you want to continue?" { send "\r" }
Vérifier: man expect
pour plus d'informations.
Vous pouvez utiliser expect ( man expect est fourni avec des exemples).