那里有一个类似的问题如何确定shell脚本是否以root身份运行?
我有同样的疑问,但结果不同
是否可以在运行所有内容之前在 BASH 脚本中检查脚本是否以超级用户身份运行,如果不是,则打印一条消息说您必须是超级用户才能使用此脚本,然后随后
使用 askpass 或类似方法从用户那里获取通行证,然后与超级用户执行相同的脚本?
Lek*_*eyn 13
如果程序需要 root 权限,我只调用 sudo,但没有:
#!/bin/bash
if [ $(id -u) != 0 ]; then
echo "This script requires root permissions"
sudo "$0" "$@"
exit
fi
Run Code Online (Sandbox Code Playgroud)
"$0"
包含脚本名称、"$@"
可选参数。如果您的程序不接受参数,则可以省略它。
注意:这个 shellscript 应该在 shell 中运行,如果这个脚本应该作为 GUI 运行,请使用类似gksu
或kdesudo
代替sudo
.