问题标签 [osascript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4267 浏览

shell - 无法使用从 1 到 n 循环的 i 重复执行 shell 脚本

这有效(打印,例如,“3 个参数”):

这不会(仅打印“参数 3:三个”,而不是前两个参数):

在这两种情况下,我都osascript在 Mac OS X 10.5.5 上运行脚本。示例调用:

我没有重定向输出,所以我知道脚本没有抛出错误。

如果我在display dialog上面添加一个语句do shell script,它会抛出“不允许用户交互”错误,所以我知道它正在执行循环体。

我究竟做错了什么?这个循环导致 osascript 不打印任何东西的原因是什么?

0 投票
2 回答
2466 浏览

command-line - 您如何使用 AppleScript 获得 iTunes 曲目的播放时间?

我刚刚开始使用 Geektool 和 applescripting 来让我的 mac 桌面变得有趣,但我遇到了一个我似乎无法找到答案的问题。如何从 osascript 命令获取当前歌曲播放时间?我找到了关于如何在命令行上使用 iTunes 和 osascript 做任何其他事情的大量资源,但似乎没有人关心显示当前的播放时间。谢谢!我假设它会是这样的:

不过我已经试过了,它告诉我这首歌有多长。我想知道玩了多久。

0 投票
4 回答
905 浏览

jvm - 什么是开发爱好语言的好 VM?

我正在考虑编写我自己的小语言。

我找到了一些选择,但请随时提出更多建议。

  • 虚拟机
  • 鹦鹉
  • OSA

很多语言都在使用 JVM,但除非您编写类似 Java 的语言,否则 stdlib 提供给您的所有功能都会让您感到难看;它也不是很擅长动态的东西。

Parrot 似乎是一个很好的开发语言的虚拟机,但它有点被遗弃/未完成/爱好项目的味道。

OSA 是 Applescript 的动力,它不是一个特别知名的 VM,但我使用的是 Mac,它提供了良好的系统集成。

CLR + Mac 似乎不是一个好的组合......

我的语言将是一种面向对象的功能并发数据流语言,具有强类型化以及 Python 和 Lisp 语法的混合。听起来不错,嗯?

[编辑]
我现在接受了 Python,但我想了解更多关于 OSA 和 Parrot 的信息。

0 投票
1 回答
5261 浏览

macos - 我怎样才能摆脱这个 osascript 输出?

以下问题与发布在此问题上的答案有关:

我喜欢创建我自己的函数来打开一个新终端的概念,因此 Craig Walker 在上述问题中链接到的脚本适合我的需要。该脚本由 Mark Liyanage 编写,可在此处找到。

那个脚本是这样的:

我对链接站点上的脚本进行了一项更改;我注释掉了输出“$COMMAND $EXIT”的行以消除一些冗长。但是,当我运行脚本时,我仍然得到这个输出

就在它打开新窗口并执行我传入的命令之前。任何想法为什么会发生这种情况?(在调用 oascript 之前,我尝试将 stderr 的重定向移动到 /dev/null,但这并没有什么区别。)

0 投票
2 回答
22552 浏览

macos - 如何通过mac终端模拟鼠标点击?

有没有任何方法可以在没有任何程序或脚本的情况下做到这一点?(也许通过 osascript?)

0 投票
1 回答
2748 浏览

macos - Cancel button on osascript in a bash script

i have a small Problem with a osascrip line in a bash script. The bash script gets called via a Applescript 'choose from list' dialogue, and then you can define options via a if [[ $* = *"Option 1... selection tag.

A friend gave me the osascript line, the 'choose a file' dialogue shows up and it works for choosing things, however the 'cancel' button also triggers the 'Choose a file' dialogue.

I feel the osascript line is somewhere incomplete near the end because both OK and cancel trigger the choose a file dialogue.

looks like this in a bash script:

Any idea where the cancel option is missing in the osascript line and how i could implement it?

0 投票
2 回答
890 浏览

ruby-on-rails - 从 ruby​​ 守护进程中调试 osascript 执行

我需要经常在我的网络服务器上运行一个 applescript。由于服务器正在运行 rails,并且我需要在运行脚本之前和之后访问我的模型,我认为守护程序(通过守护程序 gem)可能是合适的。

从理论上讲,这相当容易。下面是一个简化的例子。

出于测试目的,我已经用单行替换了(有点长且耗时的)生产applescript。在这里,在它的所有荣耀中:

因为 applescript 将脚本的最后一行视为返回语句,所以这个字符串被传递到我的result变量中并最终登录到 rails。

这很好用 - 有一段时间。最终(通常在几个小时后)该osascript行停止返回结果。守护进程仍在运行,但据osascript我所知,这条线完全失败了,没有任何解释。

我可以肯定地说,守护进程本身并没有死,因为

  • rails 日志条目以正确的时间间隔出现,并且
  • 我对“foo.txt”的完整性检查会定期更新其最后修改的时间戳。

我想我会发布一个更新,以防万一有人遇到类似的问题。首先,我找到了解决方法。它肯定是一个丑陋的黑客,但它完成了工作并且它不会每 2 小时崩溃一次。我正在做的是在每次运行作业时建立一个 ssh 连接,这有效地让脚本在干净的会话上运行。

其次,我在 ~/Library/Logs/DiagnosticReports 目录中发现了大量的崩溃报告。越来越多的我开始相信这整个考验与某种会话超时或到期有关。

0 投票
1 回答
1072 浏览

macos - 相当于 AppleScript 中的 min(x,y)

我有一个工作的 AppleScript,它的重复看起来像这样:

现在我想把它改成min(2,count windows of proc)

我将如何使用纯 AppleScript 编写此代码?(涉及 Bash 等的解决方案是不可接受的,问题实际上是关于如何从 AppleScript 执行此操作)

0 投票
1 回答
2262 浏览

macos - 根据使用 applescript 和最佳实践的内容在终端中选择特定选项卡

这是一个特定于应用程序的问题。我正在尝试根据其中的内容在 Terminal.app 中查找并选择一个选项卡。这是我正在做的事情:

这并不像预期的那样,并且非常万无一失。我想知道是否有人可以建议一种用更少的代码来做到这一点的方法(例如,循环实际上不是必需的,但 applescript 是一种难以捉摸的语言)。

谢谢

0 投票
1 回答
2384 浏览

macos - AppleScript Runner 退出状态传递回 shell 脚本

我需要能够在 shell 脚本中运行 AppleScript。我正在使用“AppleScript Runner”以处于交互模式,以便支持对话框等。我已经让它工作了,但我需要将 AppleScript Runner 应用程序的退出状态返回到 shell,这样我才能查看脚本中是否有任何错误。

这是我的shell脚本:

在这里,我的变量 $status 仅以 osascript 命令的退出状态结束(无论 somescript.scpt 实际运行是否成功,它都将为 0),而不是应用程序 AppleScript Runner 的退出状态。

有谁知道我可以如何做到这一点?

谢谢!