Talvez seja assim:
for f in /some/dir/*; do
type="$( file -bi -- "$f" )"
case "${type%%;*}" in
image/jpeg) ext=jpg ;;
image/png) ext=png ;;
image/tiff) ext=tiff ;;
*) printf '%s: %s: unknown file type\n' "${0##*/}" "$f" >&2; ext='' ;;
esac
if [ -n "$ext" ]; then mv -n -- "$f" "${f}.${ext}"; fi
done