我不知道如何使用AppleScript,我如何让我的小bash脚本首先工作在我之外。我目前正在使用AppleScript来运行我的bash脚本,它的工作非常棒。它在下面。
do shell script "/Users/john/Scripts/screenshot -i --delete"
现在它所引用的bash脚本是它将截取屏幕截图并将其上传到我的服务器;但是;
我希望它在完成后发出声音,我该怎么做呢? AppleScript是我所不知道的......
答案 0 :(得分:19)
您可以使用 afplay :
do shell script "afplay /Users/john/Sounds/vengabus.aiff"
或者我喜欢用文字说话:
say "Finished!"
答案 1 :(得分:8)
只是为了补充@adamh和@DigiMonk的优秀答案:
如果默认声音可以,那么好的旧beep
可以完成这项工作:
beep # beep once
如果一次还不够,只需指定所需的哔声数作为参数:
beep 2 # beep twice.
顺便提一下,beep
,say
和display notification
都是在User Interaction
字典StandardAdditions.sdef
套件中定义的。要查看这些定义,请在AppleScript编辑器中选择File > Open Dictionary...
,然后在弹出的列表中选择StandardAdditions.osax
。
答案 2 :(得分:7)
通知中心(可能仅限OS X 10.9.x)可以显示带声音的消息。
set variableWithSoundName to "Glass"
display notification "Upload complete" with title "Screenshot" subtitle "Status" sound name variableWithSoundName
-- "sound name" is the name of a sound located in "~/Library/Sounds"
-- or "/System/Library/Sounds"
display notification
命令来自StandardAdditions
。
(...还有命令beep
播放默认提示音并以“哔哔”数作为参数)
答案 3 :(得分:0)
您也可以播放随机声音!
do shell script "afplay /System/Library/Sounds/" & some item of paragraphs of ((do shell script "ls /System/Library/Sounds/")) ---random sound
答案 4 :(得分:0)
Alfred 2分配全局快捷方式来执行shell脚本“ afplay /Users/john/Sounds/vengabus.aiff” + Lion的Spark是很好的组合。