2016-11-03 2 views
0

Je dois exécuter la commande "monit restart haproxy" après sudo su.Comment exécuter la commande après sudo su

Ceci est mon script.sh

sudo su 
monit restart haproxy. 

ici si je vais exécuter le fichier script.sh il se bloque et il n'est pas l'exécution de la Monit restart haproxy.

Aucune idée.

Merci à l'avance.

Répondre

0

La commande sudo vous attend d'entrer un mot de passe est pourquoi il se bloque, vous pouvez utiliser un tuyau pour que le mot de passe est transmis à la commande comme ceci:

echo <password> | sudo su 
monit restart haproxy. 
+0

En fait, la commande sudo su n'attend pas le mot de passe. Comme si je ferai manuellement sudo su. alors il va sauter au terminal racine sans fournir de mot de passe. Donc, fondamentalement, le problème est que, une fois que sa volonté passera à l'utilisateur root, elle n'exécutera pas la commande monit. – ishwar

+0

L'utilisateur root a-t-il le droit d'exécuter la commande 'monit restart haproxy.'? – IamNguele

+0

oui .. je peux exécuter monit restart commande haproxy après sudo su. – ishwar

0

Here vient des informations sur sudo su. Vous devez saisir le mot de passe ou la commande sudo su, voici quelques citation de lien i posté qui peut être la source de votre problème:

sudo - sudo est destiné à exécuter une seule commande avec les privilèges root. Mais contrairement à su, il vous demande le mot de passe de l'utilisateur actuel. Cet utilisateur doit être dans le fichier sudoers (ou un groupe qui se trouve dans le fichier sudoers). Par défaut, Ubuntu "se souvient" de votre mot de passe pendant 15 minutes, de sorte que vous n'ayez pas à taper votre mot de passe à chaque fois.