检查脚本是否以 root 身份执行?

Nir*_*esh 2 unix root terminal privileges bash

我有一个需要 root 权限的脚本。我必须通过 sudo 或从 uid 0 的帐户(例如 root)执行它。

如果脚本没有以足够的权限执行,那么我希望该脚本回显“以 Root 身份运行”并退出 1。

我怎样才能做到这一点?

Hen*_*nes 7

#!/usr/bin/env bash
如果 [[ $EUID -ne 0 ]]; 然后
   echo "此脚本必须以 root 身份运行" 
   出口 1
菲

// 脚本的其余部分在这里

来源

EUID 是脚本运行时的有效 UID。

[[ ne ]] 是对不相等的测试。

0 是 root 的 uid(或者更确切地说,你想要的 uid。名称 root 是最常见的名称,但可以更改,并且可以有多个 uid 0 的帐户