#!/bin/sh in_path () { cmd=$1 path=$2 res=1 IFS=":" for dir in $path; do if [ -x "$dir/$cmd" ]; then res=0 break fi done return $res } cmd_in_path () { var=$1 if [ -n "$var" ]; then if [ "$( echo "$var" | cut -c 1 )" = "/" ]; then if [ ! -x "$var" ]; then return 1 fi elif ! in_path "$var" "$PATH"; then return 2 fi fi } if [ $# -ne 1 ]; then echo "Usage: $0 " >&2 exit 1 fi cmd_in_path "$1" case $? in 0 ) echo "$1 found in PATH" ;; 1 ) echo "$1 not found or not executable" ;; 2 ) echo "$1 not found in PATH" ;; esac exit 0