📅  最后修改于: 2023-12-03 15:09:18.896000             🧑  作者: Mango
在编写 shell 脚本时,有时候需要以 root 身份运行才能完成一些功能,例如修改系统配置文件或创建系统级别的用户等。为了保证脚本只能以 root 用户运行,我们可以在脚本中添加检查当前用户的代码。
以下是一个示例脚本,如果当前用户不是 root 用户,则退出脚本:
#!/bin/bash
# 检查当前用户是否为 root 用户,如果不是则退出脚本
if [[ $EUID -ne 0 ]]; then
echo "需要以 root 用户运行此脚本"
exit 1
fi
# 在这里添加需要以 root 用户身份运行的代码
上述脚本使用 $EUID 变量来检查当前用户的有效用户 ID,如果不是 root 用户,则输出错误信息,退出脚本。
在编写脚本时,我们还可以使用 sudo 命令来确保以 root 用户运行。下面是一个示例脚本,在执行脚本时添加 sudo 前缀即可:
#!/bin/bash
# 检查当前用户是否为 root 用户,如果不是则输出错误信息并退出
if [[ $EUID -ne 0 ]]; then
echo "需要以 root 用户运行此脚本"
exit 1
fi
# 在这里添加需要以 root 用户身份运行的代码
备注:$EUID 是当前用户的有效用户 ID,与 $UID 不同的是,$EUID 会在 su 和 sudo 命令下取得正确的值。