I'm seeing head return 0 on failures:

$ for tool in head tail cat; do $tool /var/empty/non-existant; print $?; done
head: /var/empty/non-existant: No such file or directory
0
tail: /var/empty/non-existant: No such file or directory
1
cat: /var/empty/non-existant: No such file or directory
1

$ for tool in head tail cat; do $tool /root/non-existant; print $?; done
head: /root/non-existant: Permission denied
0
tail: /root/non-existant: Permission denied
1
cat: /root/non-existant: Permission denied
1

head(1): EXIT STATUS
        The head utility exits 0 on success, and >0 if an error occurs.

An ordinary 5.5 release box:
$ uname -mrsv
OpenBSD 5.5 GENERIC#276 i386

Am I doing something wrong?

Reply via email to