您可以使用进程替换diff和head内部进程替换的退出状态:
[kbrandt@localhost ~]$ echo arf > foo
[kbrandt@localhost ~]$ echo arf > foo1
[kbrandt@localhost ~]$ diff <(head -n1 foo) <(head -n1 foo1)
[kbrandt@localhost ~]$ echo $?
0
[kbrandt@localhost ~]$ echo foo > foo1
[kbrandt@localhost ~]$ diff <(head -n1 foo) <(head -n1 foo1)
1c1
< arf
---
> foo
[kbrandt@localhost ~]$ echo $?
1
[kbrandt@localhost ~]$
Run Code Online (Sandbox Code Playgroud)
Diff 比较文件,如果退出状态为零则文件匹配。非零意味着它们不匹配或运行 diff 时出现错误,这似乎不太可能。$?是一个 shell 变量,它具有上一个命令的退出状态。> /dev/null如果您不想在屏幕上看到它,您可以通过添加到 diff 命令的末尾来重定向 diff 的输出:
[kbrandt@localhost ~]$ diff <(head -n1 foo) <(head -n1 foo1) > /dev/null
[kbrandt@localhost ~]$ echo $?
1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
135 次 |
| 最近记录: |