要检查bash脚本是以root用户身份还是以普通用户身份运行?

时间:2013-11-04 17:23:57

标签: bash scripting

我已经开始学习bash脚本了。我有一个概念上的怀疑,如何确定脚本是以root身份还是以普通用户身份运行。?

如果用户为0,我知道UID,但我不明白如何实现它。任何人都可以解释我如何使它工作。当脚本以普通用户身份运行时,是否可以将消息打印为"Not a root user"

我的脚本很简单hello_world.sh

#!/bin/bash
echo 'Hello World';

1 个答案:

答案 0 :(得分:5)

POSIX shell具有内置变量$UID$EUID。您还可以查看id -u的退货。在每种情况下,id 0表示root。

#!/bin/sh
if [ $EUID -ne 0 ]; then
    echo "This script should be run as root." > /dev/stderr
    exit 1
fi