我正在编写一个需要以 root 身份执行的脚本,否则它会停止一切。
#!/bin/bash
validationRoot() {
if [ $USER != 'root' ]
then
echo "You're not root! You can't use this script."
fi
}
validationRoot;
echo "You're root!"
我不知道该添加什么echo "You're not root! You can't use this script."
才能停止执行。
答案1
我会这样做:
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
请注意,id=0 是内核内部用来识别超级用户(或 root)的。
编辑:重定向到 STDERR 会更好。
以下是一句话:)
(( EUID )) && echo ‘You need to be root.’ && exit 1