【问题标题】:applescript do shell script issueapplescript做shell脚本问题
【发布时间】:2013-11-25 10:12:25
【问题描述】:

我有一个命令,它产生的输出可以在终端中工作,但不能在 AppleScript 中作为“执行 shell 脚本”。本质上,shell 脚本版本中缺少输出的最后一行。

终端输出:-

Processing pages 1 through 1.
Page 1
%%SeparationName: Text black

AppleScript 输出中的“执行 shell 脚本”:-

Processing pages 1 through 1.
Page 1

任何想法为什么缺少最后一行?

Applescript 中的代码是:-

set Stage1 to do shell script "gs -dFirstPage=1 -dLastPage=1 -sDEVICE=tiffsep -dNOPAUSE -dBATCH -dSAFER -r72 -sOutputFile=/Users/ant/p001 '/Users/ant/Desktop/7savage.pdf'

Stage1 变量保存来自 stdout 的输出,缺少包含“%%SeparationName: Text black”部分的最后一行。

谢谢, 安东尼

【问题讨论】:

  • 看起来它可能与 th %% 你是如何收集输出的?我们可以看到实际的脚本吗?

标签: shell applescript


【解决方案1】:

最后一行可能会打印到 stderr。您可以使用 2>&1 将 stderr 重定向到 stdout:

do shell script "(echo a>&2)" -- ""
do shell script "(echo a>&2)2>&1" -- "a"

【讨论】:

    猜你喜欢
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多