小编典典

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

all

我正在编写一个需要 root 级别权限的脚本,并且我想这样做,以便如果脚本不是以 root 身份运行,它只会回显“请以 root 身份运行”。并退出。

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

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

  else (do stuff)
fi

exit

我怎样才能最好地(干净而安全地)做到这一点?谢谢!

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


阅读 108

收藏
2022-03-29

共1个答案

小编典典

已经给出了一些答案,但似乎最好的方法是使用:

  • id -u
  • 如果以 root 身份运行,将返回 0 的 id。

这似乎比其他方法更可靠,并且即使脚本通过sudo.

2022-03-29