#! /bin/sh set -eu prev_output="" prev_lint="" ulimit -c 0 for lint1 in \ "$HOME/proj/src/usr.bin/xlint/lint1/lint1" \ /usr/libexec/lint1 \ $(ls -r libexec/20??.*-plain/lint1); do [ -x "$lint1" ] || continue lint_name="$lint1" case $lint_name in libexec/*-*/lint1) lint_name="${lint_name#libexec/}" lint_name="${lint_name%-*/lint1}" esac curr_output=$( ("$lint1" "$@" /dev/null && exit 0) 2>&1 \ && echo "exit status $?" \ || echo "exit status $?" ) if [ "$prev_output" != "$curr_output" ]; then if [ "$prev_lint" ]; then printf '%s\n\n' "$prev_lint" fi printf '%s\n' "$lint_name" printf '%s\n' "$curr_output" | sed 's,^,| ,' prev_output="$curr_output" fi prev_lint="$lint_name" done echo "$prev_lint"