【发布时间】:2017-03-06 02:55:00
【问题描述】:
我有一个调用 AppleScript 的 shell 脚本。 AppleScript 在具有给定文档的软件上运行一些自动化测试。
AppleScript 完成执行后,我将在我的 shell 脚本中使用 mv 命令将文档移动到其他文件夹,然后我将移动下一个文档,以便 AppleScript 可以使用这个新文档运行这些测试。但是,一旦调用 AppleScript,它就会将文档移动到另一个文件夹,而不会在该文档上运行这些测试。
如何在我的 shell 脚本中等待,以便只有在 AppleScript 执行完所有测试后才移动文档?
1. mv $file "/path/to/file" (Moving the document to the execution folder)
2. osascript /pathto/applescript.app (it will use this execution folder to run its tests)
3. mv "/path/to/file" /Users/Desktop/tempfolder (moving the document on which the test is completed to a temp folder)
步骤 2 和 3 一个接一个地进行,无需等待,因此要在其上运行测试的文档在测试完成之前被移动。
【问题讨论】:
-
为什么是 -1 。请告诉我,如果需要,我可以修改任何内容
-
可能投反对票的人希望看到一些“代码”,我的意思是您口头解释的任何内容,以及您尝试解决问题的一些“代码”。
-
等待可以解决问题,但它不是一个好的解决方案,因为测试可能需要更多时间来处理特定文件。我试过 & 但它不会工作,因为即使 applescipt 在后台运行它也不会有运行测试所需的文件。
-
这个带有答案的最新问题 (stackoverflow.com/questions/40215226/…) 看起来也很适合您的情况
-
这是我在评论中提到的。我无法在后台运行它,因为一旦执行下一步,即第 3 步,文件就会被移动,而第 2 步没有要处理的文件。
标签: shell unix applescript