我已经开始学习bash脚本了。我有一个概念上的怀疑,如何确定脚本是以root身份还是以普通用户身份运行。?
如果用户为0,我知道UID,但我不明白如何实现它。任何人都可以解释我如何使它工作。当脚本以普通用户身份运行时,是否可以将消息打印为"Not a root user"
?
我的脚本很简单hello_world.sh
:
#!/bin/bash
echo 'Hello World';
答案 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