En macOS 10.14, usando whatis
sobre un comando que no está instalado imprime 'command': nothing appropriate
como se espera. Pero devuelve 0 en lugar de un código de error, que creo que es el comportamiento esperado. Tampoco es coherente con man
, que devuelve 1 después de que no haya resultados. Además, whatis
imprime en la salida estándar, mientras que man
imprime a stderr.
Esto es diferente que la de Linux, que devuelve un código de error, y se imprime a stderr.
macOS:
$ whatis abc; echo $?
abc: nothing appropriate
0
$ man abc; echo $?
No manual entry for abc
1
$ whatis abc 2>/dev/null
abc: nothing appropriate
$ man abc 2>/dev/null
Linux (Ubuntu):
$ whatis abc; echo $?
abc: nothing appropriate.
16
$ man abc; echo $?
No manual entry for abc
16
$ whatis abc 2>/dev/null
$ man abc 2>/dev/null
Creo whatis
no debe devolver 0 cuando no puede encontrar una descripción de la orden, y deben tener un comportamiento coherente con man
Nota: me di cuenta de esto porque estoy escribiendo un programa que se basa en esta funcionalidad
Edit: apropos
tiene el mismo comportamiento como whatis