#!/bin/bash
# inpath -- Проверяет допустимость пути к указанной программе
# или ее доступность в каталогах из списка PATH

in_path()
{

  cmd=$1 ourpath=$2 result=1  
  oldIFS=$IFS 
  IFS=":"

  for directory in $ourpath
  do
    if [ -x $directory/$cmd ] ; then
      echo "Command '$cmd' found in '$directory'"
      result=0  # Если мы здесь, значит, команда найдена
    fi 
  done
  
  IFS=$oldIFS
  return $result
}

checkForInPath()
{
  var=$1

  if [ "$var" != "" ] ; then
    if [ "${var:0: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 command" >&2
  exit 1
fi

checkForInPath "$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