AppleScript存储两个文件的diff会返回错误

时间:2015-07-17 11:00:45

标签: applescript

我有两个简单的txt文件,a.txt和b.txt。

A.TXT

bla

b.txt

bla
bla

接下来我想将diff的输出存储在这样的变量中:

set my_result to do shell script "diff a.txt b.txt"

这一切似乎都非常简单,但它返回以下错误:

error "1c1,2
< bla
\\ No newline at end of file
---
> bla
> bla" number 1

如何避免这种情况,只将结果存储为字符串?

1 个答案:

答案 0 :(得分:1)

如果文件不匹配,/usr/bin/diff将返回值≠0并在stderr中显示错误消息。

如果shell脚本返回非零值,AppleScript会抛出错误,因此您必须捕获错误并收到错误消息

try
    set my_result to do shell script "diff a.txt b.txt"
    -- my_result is empty if the files match
on error e
    set my_result to e
end try