`

linux,shell学习(七)

阅读更多
脚本参数传递

    1.shift命令        2.getopts
    1.shift
    shift:每次将参数位置向左偏移N位
#!/bin/bash
#opt
usage(){
echo "usage:`basename $0` filenames"
}
totalline=0
if [ $# -lt 2 ]
then
        usage
        exit
fi
while [ $# -ne 0 ]
do 
   line=`cat $1 | wc -l`
   echo "$1:${line}"
   totalline=$[ $totalline+$line]
   shift
done
echo "*****************************"
echo "totalline:${totalline}"

2.getopts
1、getopts一般格式为:
     getopts option_string variable
     ggetopts读取optionstring,获知脚本中使用了有效选项。
     getopts查看所有以连字符开头的参数,将其视为选项,如果输入选项,将把这与optionstring对比,如果匹配发现,变量设置为OPTION,如果未发现匹配字符,变量能够设置为?。重复此处理过程直到选项输入完毕。
     getopts接收完所有参数后,返回非零状态,意即参数传递成功,变量OPTION保存最后处理参数,一会儿就可以看出处理过程中这样做的好处。
2、使用getopts指定变量取值:
    有时有必要在脚本中指定命令行选项取值getopts为此提供了一种方式,即在optionstring中将一个冒号放在选项后。例如:
    getopts ahfvc: OPTION
    上面一行脚本指出,选项a、h、f、v可以不加实际值进行传递,而选项c必须取值。使用选项取值时,必须使用变量O P TA R G保存该值。如果试图不取值传递此选项,会返回一个错误信息。错误信息提示并不明确,因此可以用自己的反馈信息屏蔽它,方法如下:将冒号放在optionstring开始部分。
    while getopts :ahfgvc: OPTION
    在case语句里使用?创建一可用语句捕获错误。
3、getopts使用举例
#!/bin/ksh
usage()
{
    echo `basename $0` [-a] [-b] args
    exit 0
}
while getopts "ab:" options
do
    case ${options} in
        a)
            echo "you enter -a as an option"
            ;;
        b)
            echo "you enter -b as an option"
            echo "/$OPTARG is $OPTARG"
            ;;
        /?)
            usage
            ;;
    esac
done
分享到:
评论

相关推荐

    linux shell学习资料

    在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...

    LinuxShell脚本学习基础视频

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

    linux脚本shell学习笔记

    shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识

    Linux-shell脚本全面学习.pdf

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

    linux_shell实例精解

    "Linux Shell实例精解"这本书籍正是针对这个主题,为初学者提供了丰富的学习资源。 在Linux世界中,Shell扮演着至关重要的角色。它不仅用于执行单个命令,还能通过脚本进行批量处理、文件操作、系统管理、数据处理...

    《Linux shell脚本全面学习》pdf版电子书

    ### Linux Shell脚本全面学习知识点概述 #### 一、Linux脚本编写基础 **1.1 语法基本介绍** **1.1.1 开头** - **解释**: 每个Shell脚本都需要以 `#!/bin/sh` 开始,这行被称为shebang,用于指示系统如何执行此...

    linux shell 视频教学

    在这个"Linux Shell视频教学"中,你将深入学习如何有效地利用Shell进行日常的系统管理、文件操作以及自动化工作流程。 首先,你需要了解Shell的基础知识,包括如何启动和退出Shell,以及基本的命令行操作,如目录...

    Linux Shell学习笔记

    Linux shell是学习Linux必须掌握的脚本之一,该文档为本人学习Shell脚本时总结的一些基础知识,包括Shell的语法、简单示例和总结,欢迎下载学习。

    linux shell 应用.chm

    linux shell 应用.chm,学习linux shell资料

    linux Shell编程入门 实例讲解详解

    Linux Shell编程入门实例讲解详解 Linux Shell编程是Linux系统中一...Linux Shell编程是Linux系统中一种非常重要的工具,通过学习Linux Shell编程,可以提高工作效率,提高系统管理的自动化程度,提高自己的编程能力。

    Linuxshell编写demo

    通过学习和实践这些基础知识,你可以编写出自己的Linux Shell脚本来解决实际问题。结合提供的博客地址(http://blog.csdn.net/u013171283/article/details/79204476),可以更深入地学习和理解Linux Shell编程的高级...

    linux shell 编程电子书

    linux shell 编程电子书,学习linux shell很不错的资料,高清的

    Linux shell命令学习心得

    本文将深入探讨Linux shell命令的学习心得,分享一些实用技巧和常见命令的用法。 首先,Linux shell是操作系统与用户交互的接口,它允许用户通过输入命令来执行各种任务。在众多shell类型中,Bash(Bourne-Again ...

    Linux Shell编程从入门到精通

     本书旨在通过理清Linux Shell编程的脉络,从基本概念着手,以丰富、实用的范例作为辅助,使读者能够深入浅出的学习LinuxShell编程。  本书的每一章节都配有综合案例,这些综合案例不仅可以使读者复习前面所学的...

    Linux Shell学习资料合集

    分别有以下这些内容的资料 Linux与unix shell编程指南 Bash参考手册 Expect中文教程 Expect简介和应用 Expect命令基本语法 高级Bash脚本编程指南 高级Shell脚本编程 Shell命令合集

    linux shell脚本攻略源代码

    本资源提供的“Linux Shell脚本攻略源代码”是一份详细的学习材料,对于想要掌握或提升Shell脚本技能的人来说极具价值。 首先,让我们了解一下Shell的基本概念。在Linux中,Shell是用户与操作系统内核交互的界面,...

Global site tag (gtag.js) - Google Analytics