调用命令
总是检查返回值,并给出信息返回值。
对于非管道命令,使用 或直接通过一个 if
语句来检查以保持其简洁。
Bash也有 PIPESTATUS
变量,允许检查从管道所有部分返回的代码。如果仅仅需要检查整个管道是成功还是失败,以下的方法是可以接受的:
可是,只要你运行任何其他命令, 将会被覆盖。如果你需要基于管道中发生的错误执行不同的操作,那么你需要在运行命令后立即将 PIPESTATUS
赋值给另一个变量(别忘了 [
是一个会将 擦除的命令)。
内建命令和外部命令
可以在调用shell内建命令和调用另外的程序之间选择,请选择内建命令。
我们更喜欢使用内建命令,如在 bash(1)
中参数扩展函数。因为它更强健和便携(尤其是跟像 sed
这样的命令比较)