在ubuntu中运行具有root访问权限的bash脚本

时间:2018-11-20 05:29:26

标签: bash root

我正在尝试编写一个bash脚本,该脚本将切换到用户并执行程序。但是切换后我无法执行程序。这是我写的脚本

    #!/bin/bash
    sudo su
    /opt/genymobile/genymotion/genymotion
    echo "hi"

2 个答案:

答案 0 :(得分:2)

sudo su为您提供了一个新的外壳。在此Shell运行时,不会执行其他命令。试试这个:

#!/bin/bash
sudo su -c '/opt/genymobile/genymotion/genymotion ; echo "hi"'

答案 1 :(得分:2)

如果您的脚本执行需要root访问权限的操作,则系统将已经检查权限并阻止访问。

您只需检查当前用户并中止:

if [ ! `id -u` = 0 ]; then 
 echo "ERROR: This script must be run as the root user"
fi