Es solo una convención. Cuando algo está mal con los valores proporcionados en la línea de comando, la gente suele usar una función llamada use() para decirle el problema/los valores esperados. Por ejemplo:
#!/bin/sh
if [ $# -ne 1 ] ; then
usage
else
filename=$1
fi
...
Cuando verifique los argumentos enviados al programa, a veces tendrá que notificar al usuario que falló el comando.
Por ejemplo, si espera que su programa sea llamado con myprogram filename
, entonces llamarás a usage
si no hay ningún parámetro o más de 1 parámetro.
En lugar de tener el mismo mensaje en varias ubicaciones en su código con el contenido de usage
, es una mejor práctica hacer solo una función.