12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/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
- 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" ;;
- 3 ) echo "$1 not found in PATH" ;;
- esac
- exit 0
|