从 OS X 中的 bash 脚本,是否可以提示管理员权限?

Joh*_*n O 5 permissions bash scripting applescript

我有一个 shell 脚本,它向 /etc/hosts 添加一行。如果我使用 sudo 手动运行它,它可以正常工作。我想将此文件分发给使用 Mac 的同事。但是,当 shell 脚本正常运行时,我得到:

sed: /etc/hosts: Permission denied
Run Code Online (Sandbox Code Playgroud)

有没有办法像编译的 ObjC 代码那样强制 bash 脚本提示输入密码?如果 Bash 不能做到这一点,那么 Applescript 可以吗?

j_m*_*lly 3

你的 shell 脚本可以调用 sudo ,它会在终端询问密码。

尝试http://www.performantdesign.com/2009/10/26/cocoasudo-a-graphical-cocoa-based-alternative-to-sudo/

#!/usr/bin/env bash

if [ "$SUDO_USER" ]
then
  sed `do stuff`
else    
 cocoasudo --prompt="Please authenticate" bash -l -c "/path/to/this/script"
fi
Run Code Online (Sandbox Code Playgroud)