我有一个shell脚本,它运行一系列命令(在OS X 10.7上),作为XCode构建步骤的一部分。该脚本删除了一堆文件并复制了一堆文件。
我现在遇到的问题是,如果cp命令失败,根据XCode,构建仍然“成功”,可能是因为脚本仍然以退出状态返回0.如何捕获cp的结果?我查看了手册页,它似乎没有返回值。
答案 0 :(得分:3)
cp
将在失败时返回错误代码(非零),但您的脚本可能会忽略它并继续执行下一个命令。
除非您在多步脚本中明确检查每个命令的返回码,否则shell将继续执行。
有关如何在出现任何错误时退出脚本,请参阅Aborting a shell script if any command returns a non-zero value?。