#! /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
请尊重知识,请尊重原创 更多资料参考请见 http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1
相关推荐
Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
linux命令行与shell脚本编程.pdf
在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...
Linux Shell脚本编程实例中,我们可以看到很多有用的命令,例如echo命令、cd命令、ls命令、rm命令等等。这些命令都是Linux Shell脚本编程的基础命令。 Linux Shell脚本编程实例中,我们可以看到很多有用的变量,...
Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux操作系统的Shell来编写脚本程序,实现自动化任务、批处理和system administration等功能。本文将通过实例讲解Linux Shell脚本编程的基本概念、语法和...
linux通讯录的shell脚本,很多linux大作业都需要
《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...
在IT领域,Linux Shell脚本是系统管理员和开发者日常工作中不可或缺的工具,它允许用户通过命令行接口自动化执行一系列任务。《Linux shell 脚本攻略-第二版》是一本深受赞誉的书籍,旨在帮助读者深入理解并掌握...
文件包含大作业shell脚本(快速备份系统)源码,实验课做的Linux实验shell脚本:Samba实验,DDNS(DHCP服务器 和DNS服务器的配置)的shell脚本,运行脚本每个实验只需要两三分钟即可完成。 其中sy1为实验一脚本,sy2...
使用脚本修改密码 很多时候我们可能需要远程执行服务器上的脚本来修改账号密码,此时就没有办法进行交互了。 此时可以使用如下两种方式修改密码: 方式1: echo password | passwd testuser --stdin > /dev
Linux命令行与shell脚本编程大全_learn-linuxshell
**Linux Shell脚本攻略概述** Linux Shell脚本是Linux操作系统中一种强大的自动化工具,它允许用户通过编写脚本来执行一系列命令,实现系统管理和任务自动化。本书《Linux Shell脚本攻略》(第2版)深入浅出地介绍...
Linux Shell脚本攻略是一本针对Linux操作系统下Shell脚本编写的指导书籍。Shell脚本是利用Shell编程语言来控制和自动化命令序列的脚本,常用于系统管理、服务器管理、自动化任务处理等领域。本书的第三版包含了全面...
Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统...
Linux Shell脚本编程实例 Linux Shell脚本编程实例是一种使用Linux Shell编程语言编写的脚本,旨在提供一个实用的编程实例,帮助用户学习和掌握Linux Shell编程的相关知识。 程序入口点和参数处理 在Linux Shell...
linux开发,运维必备,作为一本手头工具书很实用,不过有几处会有问题,不过影响不大