最近正在阅读《Shell脚本实践》一书,这一系列文章是对书中内容的学习与整理。
inpath.sh
#! /bin/bash
# inpath -- 验证指定程序是否有效,如果参数以绝对路径的形式给出则检查改路径是否存在且可执行,如果参数没有以 / 开头,则检查该命令是否位于$PATH记录的目录下且可执行
in_path()
{
cmd=$1
ourpath=$2
result=1
#记录当前字段分隔符,并修改为':'
oldIFS=$IFS
IFS=":"
#遍历参数2指定的目录列表
for directory in $ourpath
do
if [ -x $directory/$cmd ] ; then
#如果该命令存在且可执行,则in_path成功退出
result=0
fi
done
#恢复w字段分隔符为原始值
IFS=$oldIFS
return $result
}
checkForCmdInPath()
{
var=$1
if [ "$var" != "" ] ; then
#下面使用了字符串切分语法
if [ "${var:0:1}" = "/" ] ; then