#!/bin/bash cmd=${0##*/} if [[ $1 = -h ]]; then echo "Usage: $cmd PROG1 PROG2 PROG3..." echo " $cmd -s PROG1 PROG2 PROG3..." echo "" echo "If \`-s' ISN'T given, print the first program name given that is" echo "found in PATH." echo "" echo "If \`-s' IS given, print the first program name given that is" echo "currently running. If no match is found, fall back to default" echo "behavior." exit 0 fi if [[ $1 = -s ]]; then shift # Scan to find a running instance for prog in "$@"; do if [[ -n "$(pgrep "${prog%% *}")" ]]; then printf -- '%s\n' "$prog" exit 0 fi done fi # Scan to find one that is installed for prog in "$@"; do if [[ -x "$(which "${prog%% *}" 2>/dev/null)" ]]; then printf -- '%s\n' "$prog" exit 0 fi done printf -- '%s\n' "$cmd: no suitable program found" >&2 exit 1