gpt4 book ai didi

cocoa - 从 Cocoa 中 Applescript 运行的 shell 脚本获取连续输出

转载 作者:行者123 更新时间:2023-12-03 17:51:36 24 4
gpt4 key购买 nike

我有一个 shell 脚本,它使用 echo 提供连续输出(rsync 的进度),我正在使用 AppleScript 以管理员权限运行该脚本。之前我使用 NSTask 来运行 shell 脚本,但我找不到一种方法来使用它所需的权限来运行它,所以现在我使用 applescript 来运行它。当它通过 NSTask 运行时,我可以使用输出管道和 waitForDataInbackgroundAndNotify 来获取连续输出并将其放入文本字​​段中,但现在我使用 AppleScript,我似乎无法找到实现此目的的方法。 shell 脚本仍然使用 echo,但它似乎迷失在 AppleScript“包装器”中。如何确保 AppleScript 看到 shell 脚本的输出并将其传递到应用程序?请记住,这不是一个单一的输出,而是连续的输出。

最佳答案

零是正确的。当你使用 do shell 脚本时,你可以认为它类似于在 perl 中使用反引号。该命令将被执行,发送到 STDOUT 的所有内容都将作为结果返回。

唯一的解决方法是让命令将输出写入临时文件,然后使用 do shell script "foo"而无需等待。从那里,您可以使用 native AppleScript 命令顺序读取文件。虽然很笨重,但在紧要关头还是可以用的。

关于cocoa - 从 Cocoa 中 Applescript 运行的 shell 脚本获取连续输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25082952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com