自动以 root 权限重启脚本

作者:Mitch Frazier

如果您使用 sudo,您可以在脚本开头添加一个检查,并在脚本不是以 root 权限运行时执行 sudo,从而自动重启需要以 root 权限运行的脚本。

  if [[ $UID -ne 0 ]]; then
    sudo -p 'Restarting as root, password: ' bash $0 "$@"
    exit $?
  fi

在 sudo 命令中包含 "bash" 是为了避免脚本没有设置执行位时出现问题。"exit $?" 会导致 shell 以 sudo 运行的脚本实例的状态退出。

Mitch Frazier 是 Emerson Electric Co. 的嵌入式系统程序员。自 2000 年代初以来,Mitch 一直是 Linux Journal 的贡献者和朋友。

加载 Disqus 评论