我在做什么
我定期运行一个 shell 脚本来检查我的屏幕分辨率。基于此,它将运行两个苹果脚本之一,这基本上会改变另一个应用程序(极客工具)的可见性。
我的问题
苹果票据本身运行良好。我知道 osascript 是调用苹果脚本的方式,因为如果我尝试直接运行它,它会说它“无法执行二进制文件”。但是,当我使用osascript $Home/path/smallscreen.scpt
它时,它给了我一个新错误:
osascript[61390:1405791] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found.
Did find: /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper
osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers.
也许我只是误解了一些东西,但我认为从这个答案的底部运行脚本应该是直截了当的:https ://stackoverflow.com/a/16071855/2522073
声称你可以像这样运行你的苹果脚本
osascript /Users/USERNAME/Desktop/foo.scpt
外壳代码:
rez=$(xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}')
echo $rez> $HOME/Documents/Geeklets/Displays_temp.txt
rezold=`grep -s . $HOME/Documents/Geeklets/Displays_temp.txt`
if [ "$rezold" != "$rez" ]; then
if [ "$rez" == "1280 777" ]; then
osascript /Users/coolguy/Documents/Geeklets/smallscreen.scpt
else
$HOME/Scripts/Geeklets/largescreen.scpt
fi
fi
我的苹果脚本:
tell application "GeekTool Helper"
set smallGroup to group "small"
set largeGroup to group "large"
set defultGroup to group "Default Group"
set visible of smallGroup to true
set visible of largeGroup to false
set visible of defultGroup to true
end tell
我在 Mac 10.10.3 上运行它