脚本执行后退出Applescript

时间:2014-09-14 19:06:39

标签: applescript

我是一个完整的Applescript新手 - 我主要通过复制示例来工作。

我创建了一个简单的Droplet,它使用Toast中内置的图像安装程序来安装丢弃在Droplet上的磁盘映像,而不实际启动完整的Toast程序。 Droplet可以工作,但我想在安装磁盘映像后退出脚本。 (现在的情况是,脚本应用程序在安装映像后不久就没有响应,但有时在卸载映像时它不会退出。)我搜索了论坛并发现我应该使用“重定向” > / dev / null 2>& 1& ,但我无法正确使用语法。

我可以请一些帮助 - 谢谢!

打开图片

set mount to "/Applications/'Toast 11 Titanium/Toast Titanium.app'/Contents/MacOS/ToastImageMounter"

repeat with path in image

    set mount to mount & space & quote & POSIX path of path & quote

end repeat

do shell script mount

结束

编辑:我解决了,但我确信这不是最优雅的解决方案,所以我很感激反馈。

打开图片

set mount to "/Applications/'Toast 11 Titanium/Toast Titanium.app'/Contents/MacOS/ToastImageMounter"

set foo to space & "> /dev/null 2>&1 &"

repeat with path in image

    set mount to mount & space & quote & POSIX path of path & quote & foo

end repeat

do shell script mount

结束

1 个答案:

答案 0 :(得分:0)

我改变了一些事情。首先,为什么在通往吐司钛贴片机的道路上有单引号?它没有意义,因为你想引用整个路径,而不仅仅是它的一小部分。请注意,在AppleScript中,我们有"引用的形式"把引号正确地放在东西周围,所以我在代码的两个地方使用它。其次,CRGreen关于变量名称的要点是有效的,所以要小心,以避免不必要的问题。我改变了坐骑和路径。最后,您希望在命令结尾处添加一次foo,而不是在重复循环内多次添加。

在这里,我将如何编写代码。祝你好运。

set mountCMD to quoted form of "/Applications/Toast 11 Titanium/Toast Titanium.app/Contents/MacOS/ToastImageMounter"

set foo to space & "> /dev/null 2>&1 &"

repeat with thisPath in image
    set mountCMD to mountCMD & space & quoted form of POSIX path of thisPath
end repeat

do shell script mountCMD & foo
相关问题