Shell 脚本基础学习 (三)
来源:互联网 发布:手机淘宝淘金币在哪里 编辑:程序博客网 时间:2024/06/16 09:34
functionname(){# inside the body $1 is the first argument given to the function # $2 the second ...body}
函数如果您写了一些稍微复杂一些的程序,您就会发现在程序中可能在几个地方使用了相同的代码,并且您也会发现,如果我们使用了函数,会方便很多。一个函数是这个样子的:
您需要在每个程序的开始对函数进行声明。
下面是一个叫做xtitlebar的脚本,使用这个脚本您可以改变终端窗口的名称。
这里使用了一个叫做help的函数。正如您可以看到的那样,这个定义的函数被使用了两次。
1 #!/bin/sh 2 # vim: set sw=4 ts=4 et: 3 help() 4 { 5 cat < 6 xtitlebar -- change the name of an xterm, gnome-terminal or kde konsole 7 USAGE: xtitlebar [-h] "string_for_titelbar" 8 OPTIONS: -h help text 9 EXAMPLE: xtitlebar "cvs" 10 HELP 11 exit 0 12 } 13 # in case of error or if -h is given we call the function help: 14 [ -z "$1" ] && help 15 [ "$1" = "-h" ] && help 16 # send the escape sequence to change the xterm titelbar: 17 echo -e "33]0;$107" 18 #
在脚本中提供帮助是一种很好的编程习惯,这样方便其他用户(和您)使用和理解脚本。命令行参数
我们已经见过$* 和 $1, $2 ... $9 等特殊变量,这些特殊变量包含了用户从命令行输入的参数。迄今为止,我们仅仅了解了一些简单的命令行语法(比如一些强制性的参数和查看帮助的-h选项)。 但是在编写更复杂的程序时,您可能会发现您需要更多的自定义的选项。通常的惯例是在所有可选的参数之前加一个减号,后面再加上参数值 (比如文件名)
。
有好多方法可以实现对输入参数的分析,但是下面的使用case表达式的例子无遗是一个不错的方法。
View Code
返回的结果是:
opt_f is 1
opt_l is hello
first arg is -somefile1
2nd arg is somefile2
这个脚本是如何工作的呢?脚本首先在所有输入命令行参数中进行循环,将输入参数与case表达式进行比较,如果匹配则设置一个变量并且移除该参数。根据unix系统的惯例,首先输入的应该是包含减号的参数。
阅读全文
0 0
- Shell 脚本基础学习 (三)
- 详细介绍Linux shell脚本基础学习(三)
- 详细介绍Linux shell脚本基础学习(三)
- 详细介绍Linux shell脚本基础学习(三)
- Shell脚本基础学习(三)----if-then控制
- shell脚本学习 三
- shell 脚本基础学习
- Linux Shell脚本基础(三)
- shell脚本学习(三),android 文件系统
- shell脚本学习(三)- sed
- Shell脚本基础学习(九)----输入
- Shell 脚本基础学习 (四)
- Shell 脚本基础学习 (二)
- Shell 脚本基础学习 (一)
- shell 脚本编程学习(一) 基础
- Linux学习笔记(三)——Shell脚本基础总结
- Linux学习笔记(三)——Shell脚本基础总结
- Linux Shell编程三:shell脚本基础
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- IBM MQ 简单示例
- 利用libpng中的函数读写png文件
- Shell 脚本基础学习 (四)
- 省市联动选择
- Shell 脚本基础学习 (三)
- Hibernate查询优化
- Shell 脚本基础学习 (二)
- Thymeleaf 入门基础
- Shell 脚本基础学习 (一)
- 图解Linux命令之--ethtool命令
- 排序——冒泡、归并、快速、选择、插入、堆
- Java:String和Date、Timestamp之间的转换
- Data URI Base 64 编码转为图片