3

我在 Xcode 中有一个自定义脚本,它返回一个错误,但假设我不在乎。Xcode 不关心 /dev/null 并且不会编译

sdef "$INPUT_FILE_PATH" | sdp -fh -o "$DERIVED_FILES_DIR" 
--basename "$INPUT_FILE_BASE" 
--bundleid `defaults read "$INPUT_FILE_PATH/Contents/Info" CFBundleIdentifier`

它基本上是用于生成基于 Apple Script Definitions 的 .h 文件,并且在最近的 OS X 更新之前一切正常。

在终端中,我所要做的就是结束这个命令

2>/dev/null 

并且没有返回错误。无论我尝试使用 2> 还是 > 甚至 &> 在 Xcode 中都不起作用,它总是会返回一个错误。

/bin/sh -c "sdef \"$INPUT_FILE_PATH\" | sdp -fh -o \"$DERIVED_FILES_DIR\" 
--basename \"$INPUT_FILE_BASE\" --bundleid `defaults read
\"$INPUT_FILE_PATH/Contents/Info\" CFBundleIdentifier` 2> /dev/null"

Command /bin/sh failed with exit code 1
4

1 回答 1

2

附加 2>/dev/null 不会阻止 sdef 命令返回错误状态,它只是隐藏错误消息。

将其替换为

|| echo "Failed".

如果 sdef 失败,则退出命令的第二部分,并且 echo 不应报告错误状态。

于 2011-07-18T22:09:31.370 回答