使用“管理权限自定义”图标执行Shell脚本

时间:2019-03-07 02:38:15

标签: macos applescript

我正在使用AppleScript以管理员身份运行Shell脚本。

do shell script custom_command with prompt custom_prompt with administrator privileges

,这给了我很好的提示,但是我希望能够将图标更改为终端图标以外的其他图标。任何帮助将不胜感激。

prompt

1 个答案:

答案 0 :(得分:1)

身份验证对话框上的徽章来自使用命令的应用程序。

要获取图标的自定义徽章,可以使用助手AppleScript应用程序来运行脚本,但是如果您正在做osascript,则可以通过使用该应用程序来做所有事情(否则,使用osascript运行运行osascript的AppleScript)。要为osascript创建应用程序,请在脚本编辑器中编辑脚本,例如:

do shell script "echo 'this is a test' >> ~/Desktop/Testing.txt" with administrator privileges

然后将其另存为应用程序(不选中选项)。重命名要用于 applet.icns 的图标文件的副本,打开应用程序包,并替换 / Contents / Resources / 中的现有图标文件。然后,您可以使用open /path/to/your/app

终端运行该应用程序

主要图标仍然是挂锁,但徽章现在将成为您的应用程序图标。

将参数传递给应用程序 osascript 有点不同,但是AppleScriptObjC可以解决这一问题:

use framework "Foundation"
use scripting additions

# the first argument item is the applet/droplet executable path, so we'll just skip that
set args to rest of (arguments of current application's NSProcessInfo's processInfo() as list)

if args is not {} then
  do shell script "echo " & first item of args & " >> ~/Desktop/Testing.txt" with administrator privileges
end if

您可以使用open /path/to/your/app --args “this is a test”

运行那个