링크 ux 셸 ls 스 크 립 트 샘플
2938 단어 linux링크 ux ls 소스 코드링크 ux 소스 코드
#! /bin/sh -
#查找输入文件的路径
#在查找路径下寻找一个或多个原始文件或文件模式
# 查找路径由特定的环境变量所定义
#标准输出所产生的结果 通常是查找路径下找到的每个文件的第一个实体的完整路径
# 或是filename :not found 的标准错误输出。
#如果文件没有找到 则退出码为0
#否则 即为找不到的文件个数
#语法 pathfind [--all][--?][--help][--version] envvar pattern(s)
# 使用--all 选项时,在路径下的每个目录都会被查找
# 而不是停留在第一个找到的地方
IFS='
'
OLDPATH="$PATH"
PATH=/bin:/usr/bin
export PATH
error()
{
echo "$@" 1>&2
usage_and_exit 1
}
usage()
{
echo "Usage:$PROGRAM [--all][--?][--help][--version]envvar pattern(s)"
}
usage_and_exit()
{
usage
exit $1
}
version()
{
echo "$PROGRAM version $VERSION"
}
warning()
{
echo "$@" 1>&2
EXITCODE=`expr $EXITCODE + 1`
}
all=no
envvar=
EXITCODE=0
#basename会截去参数最后一个斜杠之前字串,返回剩下的部分
PROGRAM=`basename $0`
VERSION=1.0
while test $# -gt 0
do
case $1 in
--all | --al | --a | -all | -al | -a )
all=yes
;;
--help | --hel | --he | --h | '--?' | -help | -hel | -he | -h | '-?' )
usage_and_exit 0
;;
--version | --versio | --versi | --vers | --ver | --ve | --v | \
-version | -versio | -versi | -vers | -ver | -ve | -v )
version
exit 0
;;
-* )
error "Unrecognized option: $1"
;;
* )
break
;;
esac
shift
done
envvar="$1"
test $# -gt 0 && shift
test "x$envvar" = "xPATH" && envvar=OLDPATH
dirpath=`eval echo '${'"$envvar"'}' 2>/dev/null | tr : ' ' `
#为错误情况进行健全检查
if test -z "$envvar"
then
error Environment variable missing or empty
elif test "x$dirpath" = "x$envvar"
then
error "Broken sh on this platform: cannot expand $envvar"
elif test -z "$dirpath"
then
error Empty directory search path
elif test $# -eq 0
then
exit 0
fi
for pattern in "$@"
do
result=
#echo $dirpath
for dir in $dirpath
do
for file in $dir/$pattern
do
#echo $dir/$pattern
if test -f "$file"
then
result="$file"
echo $result
test "$all" = "no" && break 2
fi
done
done
test -z "$result" && warning "$pattern:not found"
done
test $EXITCODE -gt 125 && EXITCODE=125
exit $EXITCODE
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.