【发布时间】:2011-02-23 09:09:40
【问题描述】:
我正在尝试使用 AppleScript 来修改一些应用程序设置。代码如下所示:
#!/bin/sh
echo '
tell application "Finder"
tell disk "'$1'"
open
set current view of container window to icon view
...
close
end tell
end tell
' | osascript
但是,当 applescript 点击“打开”时,我不断收到 -10810 错误代码(“64:68:执行错误:发生了 -10810 类型的错误。(-10810)”)。我做了一些谷歌搜索,我得到的只是“重新启动并等待,它有时会神奇地开始工作”(它没有)。
机器正在运行 Mac OS Server 10.6。我虽然可能是一些权限问题,但是以 root 身份运行命令会返回相同的错误。
更新:已解决(嗯,或多或少 :-))。问题是“开放”需要一个用户界面。问题是我使用 ssh 来运行脚本(我在这里没有提到,因为我认为它不相关)。所以没有用户界面。当我首先使用 VNC 登录时,它可以工作。
【问题讨论】:
-
只是让您知道,您不需要(并且可能不应该)在开头使用
#!/bin/sh行。您不是通过sh运行它,而是通过applescript 运行它。 -
他将它作为 shell 命令运行。仔细看。他正在通过命令行传递一个参数。检查某人是否登录(并且您可以运行 Applescript)的问题是一个很多人忘记的棘手问题。如果您想测试以确保有人登录,您可以运行 shell 命令“users”,其中列出了当前登录的用户。显然,如果没有人登录,这将不会返回任何用户。
-
如果您已经解决了问题,请将您的解决方案作为答案发布在下面并接受它。
标签: shell applescript