问题标签 [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.
shell - 无法使用从 1 到 n 循环的 i 重复执行 shell 脚本
这有效(打印,例如,“3 个参数”):
这不会(仅打印“参数 3:三个”,而不是前两个参数):
在这两种情况下,我都osascript
在 Mac OS X 10.5.5 上运行脚本。示例调用:
我没有重定向输出,所以我知道脚本没有抛出错误。
如果我在display dialog
上面添加一个语句do shell script
,它会抛出“不允许用户交互”错误,所以我知道它正在执行循环体。
我究竟做错了什么?这个循环导致 osascript 不打印任何东西的原因是什么?
command-line - 您如何使用 AppleScript 获得 iTunes 曲目的播放时间?
我刚刚开始使用 Geektool 和 applescripting 来让我的 mac 桌面变得有趣,但我遇到了一个我似乎无法找到答案的问题。如何从 osascript 命令获取当前歌曲播放时间?我找到了关于如何在命令行上使用 iTunes 和 osascript 做任何其他事情的大量资源,但似乎没有人关心显示当前的播放时间。谢谢!我假设它会是这样的:
不过我已经试过了,它告诉我这首歌有多长。我想知道玩了多久。
jvm - 什么是开发爱好语言的好 VM?
我正在考虑编写我自己的小语言。
我找到了一些选择,但请随时提出更多建议。
- 虚拟机
- 鹦鹉
- OSA
很多语言都在使用 JVM,但除非您编写类似 Java 的语言,否则 stdlib 提供给您的所有功能都会让您感到难看;它也不是很擅长动态的东西。
Parrot 似乎是一个很好的开发语言的虚拟机,但它有点被遗弃/未完成/爱好项目的味道。
OSA 是 Applescript 的动力,它不是一个特别知名的 VM,但我使用的是 Mac,它提供了良好的系统集成。
CLR + Mac 似乎不是一个好的组合......
我的语言将是一种面向对象的功能并发数据流语言,具有强类型化以及 Python 和 Lisp 语法的混合。听起来不错,嗯?
[编辑]
我现在接受了 Python,但我想了解更多关于 OSA 和 Parrot 的信息。
macos - 如何通过mac终端模拟鼠标点击?
有没有任何方法可以在没有任何程序或脚本的情况下做到这一点?(也许通过 osascript?)
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?
ruby-on-rails - 从 ruby 守护进程中调试 osascript 执行
我需要经常在我的网络服务器上运行一个 applescript。由于服务器正在运行 rails,并且我需要在运行脚本之前和之后访问我的模型,我认为守护程序(通过守护程序 gem)可能是合适的。
从理论上讲,这相当容易。下面是一个简化的例子。
出于测试目的,我已经用单行替换了(有点长且耗时的)生产applescript。在这里,在它的所有荣耀中:
因为 applescript 将脚本的最后一行视为返回语句,所以这个字符串被传递到我的result
变量中并最终登录到 rails。
这很好用 - 有一段时间。最终(通常在几个小时后)该osascript
行停止返回结果。守护进程仍在运行,但据osascript
我所知,这条线完全失败了,没有任何解释。
我可以肯定地说,守护进程本身并没有死,因为
- rails 日志条目以正确的时间间隔出现,并且
- 我对“foo.txt”的完整性检查会定期更新其最后修改的时间戳。
我想我会发布一个更新,以防万一有人遇到类似的问题。首先,我找到了解决方法。它肯定是一个丑陋的黑客,但它完成了工作并且它不会每 2 小时崩溃一次。我正在做的是在每次运行作业时建立一个 ssh 连接,这有效地让脚本在干净的会话上运行。
其次,我在 ~/Library/Logs/DiagnosticReports 目录中发现了大量的崩溃报告。越来越多的我开始相信这整个考验与某种会话超时或到期有关。
macos - 相当于 AppleScript 中的 min(x,y)
我有一个工作的 AppleScript,它的重复看起来像这样:
现在我想把它改成min(2,count windows of proc)
我将如何使用纯 AppleScript 编写此代码?(涉及 Bash 等的解决方案是不可接受的,问题实际上是关于如何从 AppleScript 执行此操作)
macos - 根据使用 applescript 和最佳实践的内容在终端中选择特定选项卡
这是一个特定于应用程序的问题。我正在尝试根据其中的内容在 Terminal.app 中查找并选择一个选项卡。这是我正在做的事情:
这并不像预期的那样,并且非常万无一失。我想知道是否有人可以建议一种用更少的代码来做到这一点的方法(例如,循环实际上不是必需的,但 applescript 是一种难以捉摸的语言)。
谢谢
macos - AppleScript Runner 退出状态传递回 shell 脚本
我需要能够在 shell 脚本中运行 AppleScript。我正在使用“AppleScript Runner”以处于交互模式,以便支持对话框等。我已经让它工作了,但我需要将 AppleScript Runner 应用程序的退出状态返回到 shell,这样我才能查看脚本中是否有任何错误。
这是我的shell脚本:
在这里,我的变量 $status 仅以 osascript 命令的退出状态结束(无论 somescript.scpt 实际运行是否成功,它都将为 0),而不是应用程序 AppleScript Runner 的退出状态。
有谁知道我可以如何做到这一点?
谢谢!