Cod*_*e K 1 macos shell applescript sudo
你好,
在我的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"
Run Code Online (Sandbox Code Playgroud)
但是,它每次都要求输入密码.我的意思是当脚本打开时,它会为每行进程请求密码3次.为了防止要求密码,我必须在终端中键入以下内容,
sudo chmod u + s/usr/sbin/networksetup
当按下Enter键时,它会要求输入密码,输入并运行AppleScript后,它不会再要求输入密码(3次).
但是用户必须转到终端并键入以上命令.为了防止这种情况,我在AppleScript中使用了以下代码,
do shell script "sudo chmod u+s /usr/sbin/networksetup"
Run Code Online (Sandbox Code Playgroud)
因此用户运行AppleScript并自动设置.但是我收到以下错误消息,

如何更改AppleScript,
do shell script "sudo chmod u+s /usr/sbin/networksetup"
Run Code Online (Sandbox Code Playgroud)
...要求输入一次密码,然后执行"... do shell script ..."部分的其余部分而不要求输入密码.或者添加密码以及上面的代码行以使其工作?
你看过"do shell script"命令的定义了吗?你没有使用sudo与该命令.您可以使用"具有管理员权限",如果您愿意,可以提供"用户名"和"密码".
这样做...打开AppleScript编辑器.在"文件"菜单下,选择"打开字典".从对话框窗口中选择StandardAdditions.osax.在字典的搜索字段中搜索"do shell script"以查看可以使用该命令执行的所有操作.
例如,这是你如何使用它.祝好运.
do shell script "networksetup -setproxybypassdomains Ethernet *.local, 169.254/16" with administrator privileges
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
739 次 |
| 最近记录: |