我正在运行一个运行安装程序的shell脚本(由ViseX提供),并通过列表在安装程序中选择不同的项目。 安装程序需要管理员权限才能正常运行,但我不想使用sudo。 目前,安装应用程序无法正常运行,因为它不以管理员权限运行。
如何使用管理员权限调用applescript或告诉applescript中的安装应用程序以管理员身份运行?
这是我正在使用的AppleScript:
osascript <<-END
tell application "$1"
with timeout of 8 * 3600 seconds
activate
Select "$2"
DoInstall
end timeout
end tell
END
答案 0 :(得分:0)
您可以作为管理员从Applescript运行shell脚本:请参阅this technote。 因此,如果您将此AppleScript创建为单独的脚本,则可以使用它。丑陋,但应该工作。
答案 1 :(得分:0)
这是一个可以做到这一点的苹果。我会让你把它变成一个shell命令。以下脚本使用TextEdit打开计算机上的主机文件。您会注意到打开该文件需要管理员权限,因此它是一个很好的例子。请注意,我可以更轻松地执行此特定任务,但我这样做是为了向您展示如何使用管理员权限启动应用程序,然后定位该应用程序,以便您可以执行其他AppleScript命令......
set theFile to "/private/etc/hosts"
-- launch the application with admin privileges and get the pid of it
set thePID to (do shell script "/Applications/TextEdit.app/Contents/MacOS/TextEdit > /dev/null 2>&1 & echo $!" with administrator privileges) as integer
-- get the bundle identifier of that pid so we can do something with the application
delay 0.2
tell application "System Events"
set theProcess to first process whose unix id is thePID
set bi to bundle identifier of theProcess
end tell
-- do something with it eg. open the hosts file
set theFileAlias to (POSIX file theFile) as alias
tell application id bi
activate
open theFileAlias
end tell
答案 2 :(得分:0)
do shell script "[path/to/app] [param]" user name "[admin name]" password "[password]" with administrator privileges