`
annan211
  • 浏览: 456185 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux shell ls脚本样例

阅读更多
#! /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脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    linux下shell脚本实现数据的导出

    在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...

    LinuxShell脚本编程实例

    Linux Shell脚本编程实例中,我们可以看到很多有用的命令,例如echo命令、cd命令、ls命令、rm命令等等。这些命令都是Linux Shell脚本编程的基础命令。 Linux Shell脚本编程实例中,我们可以看到很多有用的变量,...

    LinuxShell脚本编程实例.doc

    Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux操作系统的Shell来编写脚本程序,实现自动化任务、批处理和system administration等功能。本文将通过实例讲解Linux Shell脚本编程的基本概念、语法和...

    Linux shell 脚本攻略源代码第二版

    在IT领域,Linux Shell脚本是系统管理员和开发者日常工作中不可或缺的工具,它允许用户通过命令行接口自动化执行一系列任务。《Linux shell 脚本攻略-第二版》是一本深受赞誉的书籍,旨在帮助读者深入理解并掌握...

    Linux shell脚本.rar

    文件包含大作业shell脚本(快速备份系统)源码,实验课做的Linux实验shell脚本:Samba实验,DDNS(DHCP服务器 和DNS服务器的配置)的shell脚本,运行脚本每个实验只需要两三分钟即可完成。 其中sy1为实验一脚本,sy2...

    Linux通过Shell脚本命令修改密码的两种方式

    使用脚本修改密码 很多时候我们可能需要远程执行服务器上的脚本来修改账号密码,此时就没有办法进行交互了。 此时可以使用如下两种方式修改密码: 方式1: echo password | passwd testuser --stdin > /dev

    Linux 命令与Shell 脚本编程pdf书籍

    《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...

    Linux shell 脚本攻略

    **Linux Shell脚本攻略概述** Linux Shell脚本是Linux操作系统中一种强大的自动化工具,它允许用户通过编写脚本来执行一系列命令,实现系统管理和任务自动化。本书《Linux Shell脚本攻略》(第2版)深入浅出地介绍...

    LINUX SHELL 脚本攻略

    Linux Shell脚本攻略是一本针对Linux操作系统下Shell脚本编写的指导书籍。Shell脚本是利用Shell编程语言来控制和自动化命令序列的脚本,常用于系统管理、服务器管理、自动化任务处理等领域。本书的第三版包含了全面...

    Linux操作系统Shell脚本.zip

    Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统...

    LinuxShell脚本编程实例.pdf

    Linux Shell脚本编程实例 Linux Shell脚本编程实例是一种使用Linux Shell编程语言编写的脚本,旨在提供一个实用的编程实例,帮助用户学习和掌握Linux Shell编程的相关知识。 程序入口点和参数处理 在Linux Shell...

    linux 通讯录shell脚本

    linux通讯录的shell脚本,很多linux大作业都需要

    【千锋Linux】Shell脚本入门全套教程(103集)包含pdf课件

    【千锋Linux】Shell脚本入门全套教程(103集),课程齐全,适合初学者,不是很详细,不是很完善,难度系数3颗星,就是常用的一些脚本编写的教程。包含pdf课件。

    Linux的shell脚本

    Linux Shell 脚本 Linux Shell 脚本是一种为 Shell 编写的脚本程序。Shell 是一种命令语言,又是一种程序设计语言。Shell 脚本的主要作用是帮助用户更方便地使用 Linux 操作系统。 一、 Shell 介绍 Shell 是一个...

    Linux Shell 脚本攻略 中文 第三版和源码

    在IT领域,Linux Shell脚本是系统管理员和开发者日常工作中不可或缺的工具,它允许用户通过命令行编写自动化任务,提高工作效率。"Linux Shell 脚本攻略 中文 第三版和源码"提供了全面的学习资源,帮助你深入理解并...

Global site tag (gtag.js) - Google Analytics