从 osascript/Applescript 打印到标准输出

2024-05-14

我有一些正在执行的 AppleScript 代码osascript。这是一个更大的 Perl 程序的一部分。我希望能够从 AppleScript 打印到标准输出,然后让 Perl 脚本处理输出。但我无法从 AppleScript 中进行打印。我应该怎么办?

这是我尝试过的:

  • do shell script "echo Foo"。不输出 Foo。
  • 此 Google 网上论坛讨论 http://groups.google.com/group/alt.comp.lang.applescript/browse_thread/thread/d6fd2cd13927d5b3/5cba6813346a1750使用一些技巧来打开/dev/fd/1。对我来说,我收到错误“未找到文件 Macintosh HD:dev:fd:1”

这是我正在运行的脚本:

tell application "Safari"
        set window_list to every window
        repeat with the_window in window_list
                set tab_list to every tab in the_window

                repeat with the_tab in tab_list
                        set the_url to the URL of the_tab
                        -- I'd like to put a print statement here,
                        -- instead of display dialog
                        display dialog the_url
                end repeat
        end repeat
end tell

Since osascript会自动打印程序的最后一个值,我可以将 URL 收集到列表中并打印它。但是我的 Perl 脚本必须解析列表、删除引号等。似乎每行只打印一个 URL 应该更简单。

Thanks


我不知道如何做你所要求的事情,而且我不了解 Perl,但是我认为如果你在字符串而不是列表中收集 url,你可以使 Perl 的解析变得简单。每个 url 将位于字符串的单独行上。 Perl 应该能够很容易地将其转换为数组,然后用它做一些事情。像下面的苹果脚本一样。当然,您可以在 applescript 中使用不同的分隔符。我使用了“return”,但它也可以很容易地是“逗号”或您想要的任何其他字符。在 perl 中,将字符串更改为数组对您来说最简单的方法。

set urlString to ""

tell application "Safari"
    set window_list to every window
    repeat with the_window in window_list
        set tab_list to every tab in the_window

        repeat with the_tab in tab_list
            set the_url to the URL of the_tab
            set urlString to urlString & the_url & return
        end repeat
    end repeat
end tell

return text 1 thru -2 of urlString
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 osascript/Applescript 打印到标准输出 的相关文章

  • 用于运行检测显示器的 Applescript

    当我将外接显示器插入 Macbook 并唤醒它时 显示器的分辨率通常是错误的 在使用 Mountain Lion 之前 我能够运行以下 applescript 来检测显示器 tell application System Preferenc
  • AppleScript 中窗口关闭后退出应用程序

    我在 Xcode 中创建了一个 AppleScript 应用程序 我想知道如何让应用程序在窗口关闭后退出 Add a applicationShouldTerminateAfterLastWindowClosed http develope
  • 根据使用 applescript 的内容和最佳实践,在终端中选择特定选项卡

    这是一个特定于应用程序的问题 我试图根据其中的内容在 Terminal app 中查找并选择一个选项卡 这是我正在做的事情 tell application Terminal set foundTabs to every tab of ev
  • AppleScript 在 Finder 中设置目录路径

    我正在尝试通过 AppleScript 删除计算机上的文件 当我应用下面的代码时 似乎从桌面上删除了该文件 我想删除 Users andrew Documents 中的文件 下面是从桌面删除文件的代码 tell application Fi
  • 如何使用 Applescript 更改首选项窗格滑块值?

    我正在尝试创建一个 AppleScript 来设置输入音量 of the Input类别下的Sound菜单中系统偏好设置 如何改变 Slider 的值 tell application System Preferences activate
  • 在 AppleScript 中的“do shell script”对话框中添加进度条

    我正在开发一个用 AppleScript 编写的应用程序 它将 St Bernard 重定向 LaunchDaemon 移动到当前用户的目录 以便用户可以访问家里的任何网站 但让他们在返回学校之前将其放回去 原因是在学校 iPrism 会屏
  • 获取输入文件的目录(Applescript)

    我很困惑 我已经在谷歌上搜索了一个小时 并且尝试了大约十种不同的形式set posixDirectory to POSIX path of parent of path to aFile as string 但我似乎无法做对 我通过执行以下
  • Applescript 抓取 GIF 文件位置,将其复制到剪贴板,然后粘贴

    我正在尝试编写一个苹果脚本来定位 复制和粘贴图像文件 以下代码适用于jpegs and pngs set thePath to file location set the clipboard to read thePath as class
  • 如何在 Mac 中创建批处理文件?

    我需要在工作中找到一种解决方案来每天备份特定文件夹 希望备份到 RAR 或 ZIP 文件 如果是在电脑上的话我早就做了 但我不知道如何在 Mac 上实现它 我基本上想要实现的是可以使用可执行文件运行的自动化任务 它可以 压缩特定目录 Vol
  • 有没有办法从命令行弹出所有外部硬盘驱动器? (操作系统)

    有没有办法从命令行弹出 OS X 计算机上所有已安装的硬盘驱动器卷 如果我可以将 Applescript 包装在 shell 脚本中 那么就可以了 还有另一种优雅的方法可以在不知道确切名称的情况下卸载所有外部硬盘驱动器 osascript
  • Applescript 和 iCal 交互

    我正在尝试编写一个 AppleScript 来查询 iCal 并查找任何日历中给定日期的所有事件 我首先编写一个简单的脚本 对给定日历中的每个事件执行一些简单的操作 tell application iCal tell calendar R
  • 如何在 mac osx 上的子进程中打开文件

    我想打开一个文件并等待下一条指令的执行 直到文件未关闭 我点击了链接如何在 mac OSX 10 8 2 上用 python 打开文件 https stackoverflow com questions 19273210 how to op
  • 自定义 Applescript 应用程序图标

    我已经创建了我的苹果脚本 https en wikipedia org wiki AppleScript 对其进行了测试 将其另存为 app 并且可以正常工作 现在 如何为其设置自定义图标 我做了一些谷歌搜索并尝试了一些不同的事情 但无法让
  • 使用 AppleScript 和 Automator 在带有键盘的 Mac 上显示上下文菜单

    我正在尝试找到一种方法 在使用 Yosemite 的 Mac 上的 Finder 中调出上下文菜单without触摸鼠标 触摸板 A context menu 经过对此问题的广泛研究 唯一可能的途径似乎是使用 AppleScript 和 A
  • 如何在可编写脚本的应用程序中将任意 AppleScript 记录传递给 Cocoa?

    我有一个 Cocoa 应用程序 其中包含 sdef XML 文件中描述的 AppleScript 字典 sdef 中定义的所有 AppleScript 类 命令等都是工作属性 除了我的 提交表单 命令 提交表单 命令是我尝试将任意信息哈希表
  • 使用 Objective-C 获取 Photoshop 的动作列表

    我正在使用 C 和 Obj C 编写一个与 Photoshop 交互的 OSX 应用程序 我一直在使用NSAppleScript使用动态构建的 AppleScript 来驱动 Photoshop 是的 这有点可怕 我希望能够以不同的方式驱动
  • Applescript 应用程序从文件中读取

    我有一个已编译的 AppleScript 应用程序 已将其移至 Windows 服务器 然后我想将一个文本文件插入到应用程序中 在 Windows 上看起来像一个 zip 文件 myapplescript app Contents Reso
  • 如何使用 applescript 打开电子邮件?

    我正在编写一个小苹果脚本 它检索查看器中所有 未读 消息并循环它们 我有两个目标要完成 我需要获取每封邮件的主题并执行正则表达式以查看它是否适合步骤 2 例如 获取主题为 的电子邮件 我需要在单独的窗口中打开每条消息 4 秒后 我需要关闭该
  • JXA:写入文件时设置UTF-8编码

    如果我使用标准添加编写文本文件 显然我可以在参数包中配置编码 在AppleScript中我会写 class utf8 但是在JXA中使用哪个值 我尝试了字符串 UTF8 utf8 class utf8 但没有成功 错误始终是 错误 无法转换
  • AppleScript:如何获取文件夹中没有隐藏文件的文件?

    我其实有两个问题 当我尝试获取文件夹中的文件时 如何排除 DS STORE Icon 等隐藏文件 我试过了 没有隐形人 但似乎不起作用 如果已经存在 如何将我的 var the new folder 设置为现有文件夹 感谢您的回答 My c

随机推荐

  • VS Code 忽略 pylint 的设置

    我正在尝试禁用 VS Code 中的某些 pylint 警告 但我所做的一切似乎都不起作用 我已在所有 3 个可能的位置 用户 远程 工作空间 中放置了相同的设置 但 pylint 输出窗口中显示的命令行并未反映它 我尝试过重新启动 禁用
  • 无法启动 Angular-phonecat,安装后脚本失败[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我目前正在设置一个 vagrant box 来开始开发实验性的 node js angularjs 应用程序 由于我刚刚开始使用
  • 在移动网站中处理 iPhone 事件(如向左滑动)

    iPhone 浏览器是否有可以使用 Javascript 挂钩的特殊事件 例如 如果用户向左滑动 我想执行某个操作 如果有类似的活动 很高兴看到所有这些活动的参考 理想情况下 有一天所有触摸屏移动浏览器都会有一个标准 您可以访问多点触控事件
  • RestSharp RestClient的默认超时值是多少?

    任何人都知道默认超时值休息锐利 https github com restsharp 休息客户端 RestSharp 在底层使用 HttpWebRequest 它有一个默认超时 https msdn microsoft com en us
  • 在停止调试时终止 VS Code 中的 ng 服务任务

    我有一个 Angular 项目 目前正在通过 chrome 调试器在 vs code 内进行调试 我的launch json uses preLaunchTask serve 其中服务定义于tasks json as ng serve 这样
  • 配置:错误:找不到 CGAL 库

    我的最终目标就是获取python包graph tool在我的系统上工作 如果可能的话 也在 ipynb 上工作 我已经brew install graph tool 如此处所示 https git skewed de count0 grap
  • 带 If 的嵌套 For 循环的时间复杂度

    void f int n for int i 1 i lt n i if i int sqrt n 0 for int k 0 k lt pow i 3 k do something 我的思考过程 执行if语句的次数 sum i 1 to
  • Expresso 的 Android 测试首选项片段

    我在通过 Expresso 测试我的代码时遇到问题 我写了这段代码 public class SettingsActivity extends Activity Override protected void onCreate Bundle
  • Spring Boot 中的 JSTL 支持

    虽然我知道有JSP 支持中的一些限制 http docs spring io spring boot docs current reference html boot features developing web applications
  • 如何生成 appsettings..json 文件?

    我有一个 ASP NET Core 2 WebAPI 它将部署在以下环境中 INT QA STAGE 生产环境 基于上述 我需要有appsettings
  • 如何将带有自定义分配器的 std::vector 传递给需要带有 std::allocator 的函数?

    我正在使用外部库 pcl 因此我需要一个不会更改现有函数原型的解决方案 我正在使用的一个函数生成一个std vector
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • 有什么方法可以设置每个解决方案的颜色选项(VS2010)?

    有没有办法配置VS2010为不同的解决方案使用不同的配色方案 在 20 世纪 90 年代的 Macintosh 上 我可以将 wctb 资源添加到文档中 以便它们可以使用不同的配色方案打开 这样可以更轻松地找到要单击的正确窗口 并且还有助于
  • lessc:未找到命令

    我使用的是 OS X 8 并且是 Node LESS 的新手 我以为我之前安装了 lessc 当我转到 usr local bin 时 我看到了 lessc 但对于我的生活来说 我无法运行它 每当我运行它时 我都会看到 bash lessc
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 在 Chrome 中加载analytics.js时出现307重定向

    我正在构建一个网络应用程序并使用 Google Analytics analytics js 进行分析 我最近注意到 Chrome 中的分析功能无法正常工作 我使用单独模块中的标准代码片段加载分析并通过 requirejs 包含 我已验证该
  • 对 boost 库的依赖项没有完整路径

    我已经成功构建了动态库 依赖于使用自定义前缀构建和安装的 boost 库 b2 install prefix PREFIX 然而 当我跑步时otool L在我的库中 我得到如下输出 libboost regex dylib compatib
  • 如何使用CSS将文本放在“框”的右上角或右下角

    我怎样才能得到here and and here位于右侧 与 lorem ipsums 位于同一行 请参阅以下内容 Lorem Ipsum etc here blah blah blah blah lorem ipsums and here
  • 对于多项式,获取其所有极值并通过突出显示所有单调部分来绘制它

    有人问我这个有趣的问题 我认为值得将其发布在这里 因为 Stack Overflow 上还没有任何相关线程 假设我有长度为的多项式系数n vector pc 其中次数多项式n 1对于变量x可以以其原始形式表示 pc 1 pc 2 x pc
  • 从 osascript/Applescript 打印到标准输出

    我有一些正在执行的 AppleScript 代码osascript 这是一个更大的 Perl 程序的一部分 我希望能够从 AppleScript 打印到标准输出 然后让 Perl 脚本处理输出 但我无法从 AppleScript 中进行打印