如何在sudo su之后执行命令

时间:2016-11-03 11:50:43

标签: shell sh monit bosh

我需要执行" monit restart haproxy"在sudo su之后命令。

这是我的script.sh

sudo su
monit restart haproxy.

如果我将执行script.sh文件,那么它将挂起并且它没有执行monit restart haproxy命令。

任何想法。

先谢谢。

2 个答案:

答案 0 :(得分:0)

sudo命令要求您输入密码才能挂起,您可以使用管道将密码传递给命令,如下所示:

echo <password> | sudo su
monit restart haproxy.

答案 1 :(得分:0)

Here提供了有关sudo su的一些信息。您需要输入sudo或su命令的密码,这里是我发布的链接的一些引用,可能是您问题的根源:

  

sudo - sudo用于运行具有root权限的单个命令。但与su不同的是,它会提示您输入当前用户的密码。此用户必须位于sudoers文件(或sudoers文件中的组)中。 默认情况下,Ubuntu&#34;记得&#34;您的密码为15分钟,因此您不必每次都输入密码。