gpt4 book ai didi

bash - 如何检查是否以 root 身份在 bash 脚本中运行

转载 作者:行者123 更新时间:2023-11-29 08:37:29 25 4
gpt4 key购买 nike

我正在编写一个需要 root 级别权限的脚本,我想让它在脚本未以 root 身份运行时简单地回显“请以 root 身份运行”。并退出。

这是我正在寻找的一些伪代码:

if (whoami != root)
then echo "Please run as root"

else (do stuff)
fi

exit

我怎样才能最好地(干净而安全地)完成这项工作?谢谢!

啊,澄清一下:(做事)部分将涉及运行本身需要 root 的命令。因此,以普通用户身份运行它只会出现错误。这只是为了干净地运行需要 root 命令的脚本,而不在脚本中使用 sudo,我只是在寻找一些语法糖。

最佳答案

$EUID 环境变量保存当前用户的 UID。 Root 的 UID 是 0。在你的脚本中使用这样的东西:

if [ "$EUID" -ne 0 ]
then echo "Please run as root"
exit
fi

注意:如果得到 2: [: Illegal number: 检查顶部是否有 #!/bin/sh 和将其更改为 #!/bin/bash

关于bash - 如何检查是否以 root 身份在 bash 脚本中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18215973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com