2009-10-31 6 views
9

Je suis en train d'exécuter un script bash qui a:Comment sudo sur un ordinateur à l'aide ssh dans un script bash

ssh -l <username> <compname> 'sudo yum -y install expect' 

Je reçois l'erreur:

sudo: sorry, you must have a tty to run sudo 

sur certains ordinateurs, mais sur d'autres, le processus se passe bien. Comment puis-je empêcher cela?

+0

superuser.com pourrait être un meilleur endroit pour cette question – Michael

+0

La question * est * la programmation liée parce qu'elle est dans un script. Cela suffit pour le rendre valide pour SO. Aucun simple utilisateur n'aurait besoin de le savoir. –

+0

droite, assez juste – Michael

Répondre

22

Utilisez le drapeau -t pour forcer un téléscripteur à allouer:

ssh -t -l <username> <compname> 'sudo yum -y install expect' 
+0

merci. Fonctionne comme un charme! – Guy