【问题标题】:Change default button returned output of Applescript (from Bash shell)更改 Applescript 的默认按钮返回的输出(来自 Bash shell)
【发布时间】:2020-11-27 22:54:03
【问题描述】:

在出现警报提示时按“确定”后,我正在尝试自定义终端中返回的文本。我正在使用 osascript 从 Bash 终端调用 AppleScript。

当我在 bash 中运行以下命令时:

osascript -e 'display alert "hi"'

我在终端中得到以下结果:

button returned:OK

如何自定义该结果以显示“您刚刚单击确定”而不是“返回按钮:确定”之类的内容?

谢谢!

【问题讨论】:

  • 按钮名称是osascript返回的名称。您可以更改按钮的名称或编辑返回的文本。

标签: bash button return applescript display


【解决方案1】:

从命令行执行 AppleScript 时,osascript 将向stdout 打印该脚本执行的最后一次操作的结果。对于display alert,结果是一个record,它有一个属性button returned,其值表示被按下的按钮的名称。

如果您希望osascript 的输出有所不同,那么您需要修改您的脚本,使其最后的操作返回您想要的结果。例如,知道display alert 将返回我刚才描述的形式的结果,我们可以将此作为附加代码行的基础,将其用作包含按钮名称的字符串的一部分。按下。由于这将成为执行的最后一行,它指示打印回终端的文本。

这三个 AppleScript 示例都会做同样的事情:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多