我正在尝试编写一个bash脚本,该脚本将切换到用户并执行程序。但是切换后我无法执行程序。这是我写的脚本
#!/bin/bash
sudo su
/opt/genymobile/genymotion/genymotion
echo "hi"
答案 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