你好,
在我的AppleScript中,我运行以下代码
do shell script "sudo networksetup -setproxybypassdomains Ethernet *.local, 169.254/16"
do shell script "sudo networksetup -setwebproxy Ethernet 127.0.0.1 8888"
do shell script "sudo networksetup -setsecurewebproxy Ethernet 127.0.0.1 8888"但是,它每次都要求输入密码。我的意思是,当脚本被打开时,它会为每一行进程请求3次密码。为了防止询问密码,我必须在终端中输入以下内容,
sudo chmod u+s /usr/sbin/networksetup
当按下Enter键时,它会询问密码,一旦输入并运行AppleScript,它就不再要求密码(3次)。
但是用户必须转到终端并键入上面的命令。为了防止这种情况,我在AppleScript中使用了以下代码,
do shell script "sudo chmod u+s /usr/sbin/networksetup"因此,用户运行AppleScript并自动设置。但我得到了以下错误信息

如何更改AppleScript,
do shell script "sudo chmod u+s /usr/sbin/networksetup"...to要求它输入一次密码,然后执行其余的"...do外壳脚本.“不需要密码的部件。或者,在上面的代码行中添加密码以使其正常工作?
发布于 2014-05-09 02:09:37
您看过"do shell脚本“命令的定义了吗?你不能对那个命令使用sudo。您可以使用“具有管理员权限”,如果愿意,可以提供“用户名”和“密码”。
做这个..。打开AppleScript编辑器。在“文件”菜单下选择“打开字典”。从对话框窗口中选择StandardAdditions.osax。在字典的搜索字段中,搜索"do shell脚本“以查看您可以使用该命令执行的所有操作。
例如,下面是如何使用它。祝好运。
do shell script "networksetup -setproxybypassdomains Ethernet *.local, 169.254/16" with administrator privileges发布于 2014-05-09 00:58:36
您可以将密码作为参数传递给sudo。从手册页:
-S The -S (stdin) option causes sudo to read the password from
the standard input instead of the terminal device. The
password must be followed by a newline character.https://stackoverflow.com/questions/23554751
复制相似问题