Je travaille avec des instances Amazon Linux et j'ai quelques scripts pour remplir les données et installer tous les programmes avec lesquels je travaille, mais quelques programmes demandent:
Do you want to continue [Y/n]?
et suspendez l'installation. Je veux répondre automatiquement "Y" dans tous les cas, je suis juste maintenant sûr de savoir comment le faire.
--noprompt
ou que--noconfirm
vous pouvez utiliser.Réponses:
La commande «yes» fera écho à «y» (ou tout ce que vous lui demanderez) indéfiniment. Utilisez-le comme:
ou, si un «Y» majuscule est requis:
la source
yes
car il est connu de maximiser le processeur. stackoverflow.com/a/18164007/720665-y
pour les scripts bash était DIFFICILE./dev/null
ou STDOUT. Dirigé vers une commande, il n'écrira qu'une ligne dans le tube à chaque fois que la commande de réception en lit une, et attendra autrement.echo y | command
devrait marcher.De plus, certains installateurs ont un indicateur "auto-yes". C'est
-y
pourapt-get
Ubuntu.la source
-f
(--force
) qui fonctionne comme "auto-yes" pour les commandes qui suppriment quelque choseIl se peut que vous ne puissiez pas installer Expect sur le serveur cible. C'est souvent le cas quand on écrit, par exemple, un travail Jenkins.
Si tel est le cas, je considérerais quelque chose comme la réponse à ce qui suit sur askubuntu.com:
/ubuntu/338857/automatically-enter-input-in-command-line
Notez que dans certains cas rares, la commande n'oblige pas l'utilisateur à appuyer sur Entrée après le caractère. dans ce cas, laissez les nouvelles lignes en dehors:
Par souci d'exhaustivité, vous pouvez également utiliser un document ici:
Ou si votre shell le prend en charge, une chaîne ici:
Ou vous pouvez créer un fichier avec une entrée par ligne:
Encore une fois, tout le mérite de cette réponse revient à l'auteur de la réponse sur askubuntu.com , lesmana.
la source
Bien que cela puisse être plus compliqué / plus lourd que vous ne le souhaitez, une façon très flexible de le faire consiste à utiliser quelque chose comme Expect (ou l'un des dérivés dans un autre langage de programmation).
Expect est un langage conçu spécifiquement pour contrôler les applications basées sur du texte, ce que vous cherchez exactement à faire. Si vous finissez par avoir besoin de faire quelque chose de plus compliqué (comme avec la logique pour réellement décider quoi faire / répondre ensuite), Attendez-vous est la voie à suivre.
la source
Vous avez juste besoin de mettre
-y
avec la commande d'installation.Par exemple:
yum install <package_to_install> -y
la source
Si vous souhaitez simplement accepter les valeurs par défaut, vous pouvez utiliser:
la source
bash
,sh
et la plupart des systèmes, que je connais, vous devezecho
le\n
sinon il ne serait pas redirigé vers la commande suivante.