我需要 AppleScript,当从命令行运行时,它会返回三件事:
例子:
我知道还有一些类似的问题。stackoverflow 上的答案在这里,但我无法将它们组合在一起以完成所有这些工作。非常感谢您的帮助。
我需要能够在Shell脚本中运行AppleScript。我正在使用“ AppleScript Runner”以便处于交互模式,因此支持对话框等。我已经工作了,但是我需要将AppleScript Runner应用程序的退出状态返回到外壳程序,以便我可以查看脚本中是否有任何错误。
这是我的shell脚本:
output=$(/usr/bin/osascript << EOT
tell application "AppleScript Runner"
do script "somescript.scpt"
end
EOT)
status=$?
Run Code Online (Sandbox Code Playgroud)
在这里,我的变量$ status仅以osascript命令的退出状态结束(无论somescript.scpt是否成功成功运行,其退出状态均为0),而不是应用程序AppleScript Runner的退出状态。
有人知道我该怎么做吗?
谢谢!
如何在 OS X 10.6.8 及更高版本中使用 osascript 或 AppleScript 显示模式(在所有应用程序、窗口上)窗口。
这是我做的一个脚本:
#!/bin/bash
osascript -e 'tell app "System Events" to display dialog "My Dialog" buttons {"OK"} default button 1 with title "My Dialog" with icon caution'
Run Code Online (Sandbox Code Playgroud)
问题是它不是模态的。
如何解决以下问题?
我正处于设计脚本的最后阶段,该脚本将自动执行我的Active Directory绑定,供多人使用。因此,我需要提示输入用户名和密码。我已经成功创建了提示,但是想找到某种方法来防止密码显示在询问密码的对话框中(此操作可以远程完成,我不希望密码可见)。
它可以变成星星,点,根本不显示任何东西,我只需要它不以视觉方式显示,但仍然可以传递给dsconfigad命令。
我已经测试了脚本本身,并且可以正常工作,这是使脚本生效的最后一部分。
(对这里的任何多余评论,我从很多不同的来源整理而成)
#!/bin/bash
while :; do # Loop until valid input is entered or Cancel is pressed.
user=$(osascript -e 'Tell application "System Events" to display dialog "Enter the network user name:" default answer ""' -e 'text returned of result' 2>/dev/null)
if (( $? )); then exit 1; fi # Abort, if user pressed Cancel.
user=$(echo -n "$user" | sed 's/^ *//' | sed 's/ *$//') # Trim leading and trailing whitespace.
if [[ -z "$user" ]]; then …Run Code Online (Sandbox Code Playgroud) 我希望能够从屏幕上最前面的窗口获取所有文本,将其通过管道传输到 url 解析器,并从解析的文本中选择要打开的 url。
为此,我需要一种方法来访问最前面窗口的所有文本内容。我已经通过使用 applescript 接近了,但我找不到获取实际文本的方法。我怀疑 swift 可能会有所帮助,但我不知道如何用谷歌搜索这个,因为我的大多数搜索最终都只找到了一些微不足道的方法,例如从 chrome 中的选项卡获取网址等。
这就是我想要的要点:
tell the frontmost application
get contents of frontmost window as text
end tell
Run Code Online (Sandbox Code Playgroud) 我喜欢创建我自己的函数来打开一个新终端的概念,所以Craig Walker在上面引用的问题中链接的脚本符合我的需求.由Mark Liyanage编写的剧本可在此处找到.
那个脚本是这样的:
#!/bin/sh
#
# Open a new Mac OS X terminal window with the command given
# as argument.
#
# - If there are no arguments, the new terminal window will
# be opened in the current directory, i.e. as if the command
# would be "cd `pwd`".
# - If the first argument is a directory, the new terminal will
# "cd" into that directory before executing …Run Code Online (Sandbox Code Playgroud) 我写了一个应用程序是一个bash脚本,整个东西是一个bash脚本,它调用了一些osascripts,也主要用于用户输入,它在我的计算机上工作得很棒,所以我用platypus把脚本变成了应用程序,以便我可以将它发送给朋友,当他试图打开它时,它说你无法打开应用程序**因为不再支持经典环境:http://www.imgur.com/ze0ya4B巴纽
任何运行bash的Mac都应该能够至少运行正确吗?它可能与osascripts有关吗?我在论坛里找不到任何有同样问题并解决它的东西.
Tl; Dr:bash脚本通过platypus,当另一台Mac试图打开它时,新的.app文件会出错.
我正在运行山狮,所以我的macbook也不应该支持经典环境,可能会让其他计算机认为有一些来自经典环境的东西.如果你认为这有助于我上传我的源代码.
在AppleScript中,可以使用此行获取当前脚本所在的文件夹的POSIX路径:
POSIX path of ((path to me as text) & "::")
Run Code Online (Sandbox Code Playgroud)
结果示例: /Users/aaron/Git/test/
什么是JavaScript等效项?
macos applescript osascript osx-yosemite javascript-automation
我刚刚完成了macOS Mojave的全新安装(尽管重新安装了许多零碎的组件),并且在运行bash脚本时遇到了一个奇怪的错误,该脚本随后又通过运行了AppleScript osascript。osascript -e即使实际命令似乎已完成,传递给的任何命令似乎也会产生相同的错误。
例如 $ osascript -e 'say "hello"'
错误是:
2018-12-03 22:35:26.301 osascript [39652:590470] isPrefsCreateCacheFromEnabledAndDefaultInputSources-无法从GetInputSourceEnabledPrefs中找到任何内容,请使用defaultASCIIKeyLayoutDict = {type = mudict dict,count = 3,
entry =>
0:{contents =“ InputSourceKind” } = {内容=“键盘布局”}
1:{内容=“键盘布局ID”} = {值= +2,类型= kCFNumberSInt64Type}
9:{内容=“键盘布局名称”} =英式
}
通过ScriptEditor应用程序运行相同的命令可以正常工作。
使用系统bash,在安装时配置了一个键盘(英语)。
任何人都有相同的问题或想法是什么问题?
从 macOS Monterey 开始,可以在预览中选择图像中的文本。
AppleScript 和/或 JXA(自动化 JavaScript)是否可以使用此 OCR 功能?
在Script Editor.app File>Open dictionary...我选择了Preview.app并查看了Standard Suite和Text Suite的 API ,但似乎没有任何与 OCR 相关的内容。(文本套件显然与在图片上绘制文本有关,而不是与文本提取有关。)
我还在 Automator.app 中搜索了文本识别操作,但没有看到任何合适的内容。
macos ×10
osascript ×10
applescript ×7
bash ×5
shell ×2
terminal ×2
command-line ×1
livetext ×1
osx-yosemite ×1
passwords ×1
platypus ×1
scripting ×1
swift ×1
unix ×1