我是一个完整的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
结束
答案 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