📌  相关文章
📜  如果不是以 root 身份运行,则退出 bash 脚本 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:18.896000             🧑  作者: Mango

如果不是以 root 身份运行,则退出 bash 脚本 - Shell/Bash

在编写 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 命令下取得正确的值。