我正在尝试自定义按"后在我的终端中返回的文本;OK";在警报提示下。我正在使用osascript从Bash终端调用AppleScript。
当我在bash中运行以下内容时:
osascript -e 'display alert "hi"'
我在我的终端中得到以下结果:
button returned:OK
我如何自定义该结果以表示类似";你刚刚点击了"确定";而不是";按钮返回:"确定";?
谢谢!
从命令行执行AppleScript时,osascript
将向stdout
打印脚本执行的最后一次操作的结果。在display alert
的情况下,结果是具有单个属性button returned
的record
,其值指示被按下的按钮的名称。
如果您希望osascript
的输出不同,那么您需要修改脚本,使其最后一次操作返回您想要的结果。例如,知道display alert
将返回我刚才描述的表单的结果,我们可以将其用作附加代码行的基础,该代码行将其用作包含按下按钮名称的字符串的一部分。由于这将成为执行的最后一行,它指示打印回终端的文本。
这三个例子AppleScripts都会做同样的事情:
set phrase to "Very well! Give him "
tell (display alert "Cake or Death?" buttons ¬
["Cake", "Death"]) to get the phrase ¬
& the button returned
"Very well! Give him " & the button returned ¬
of (display alert ("Cake or Death?") ¬
buttons ["Cake", "Death"])
display alert "Cake or Death?" buttons ["Cake", "Death"]
set button_name to the result's button returned
return "Very well! Give him " & the button_name
与osascript
:一起使用
osascript <<-'OSA'
"Very well! Give him " & the button returned ¬
of (display alert ("Cake or Death?") ¬
buttons ["Cake", "Death"])
OSA