函数
别的高级语言都有函数的感念,当然shell编程也有这个概念,当写一个比较大型的shell程序的时候,如果没有函数,则会到处都是重复的代码。当然也可以调用别的脚本,但是速度会比较慢。所以函数是必不可少并且非常重要的一个东西。
|
从上面的例子可以看出,当脚本调用函数的时候,脚本程序的位置参数会被替换成函数的位置参数,并且函数调用结束后还原。
|
该例子说明可以捕获函数内echo的字符串,如echo $(first) , 函数在return后不会再执行下面的语句。
second&&echo "return 0"||echo "return other" 该句的输出为 return 0。这里有人可能会和C语言混淆,因为在C语言里0表示的是false。而这里的0表示函数执行成功,可以理解为true,所以会输出return 0。
命令
break,continue 和c语言基本类似
echo 了解一点即可echo -n 输出没有换行。
|
eval相当于一个额外的$,它给出一个变量值的值,如例子里先是$var2使var3变成\$var1,又var1=abcd,所以var3变为abcd,连续解析了两次变量。
export:
看下面两个例子可以很好的说明export的作用。
|
输出结果说明var1为空而var2却有值,这正是export起的作用,把var2变成了一个环境变量。
再看个例子:
|
set -a的作用就是把它之后声明的所有变量都export
printf:
和C语言里的printf用法很相似的一个命令,使用非常方便。
输出: a 2008年 03月 06日 星期四 03:57:55 CST 2008年 |
date的输出是几个由空格分隔的值,set的作用能分隔出每个域。
shift:
就是让$2变$1,$3变$2,依此类推。
trap:
非常有用的一个命令,用于指定接受到信号后进行的动作,系统定义了非常多的信号类型,用trap -l命令可以查看所有的信号。
常见的几个信号有:
INT(2) 中断,按下ctrl+c组合键引发的
QUIT(3) 退出,按下ctrl+\引发
例子:
|
这个例子在我按下ctrl+c后改变了var的值,所以跳出循环,程序结束。
shell下的程序设计非常强大,你可以用它做出很多小工具,让你的使用linux系统更加流畅。shell还有非常多的功能文中没有提到,需要大家发现问题后再自己去解决。
保留:: http://www.qqread.com/linux/2008/03/f400777.html相关专题
- 系统优化大全 (18216篇文章)
- 系统安全设置 (23687篇文章)
- 系统安装手册 (20951篇文章)
- 系统备份专题 (17641篇文章)
- Linux集群技术 (8448篇文章)
- 体验Linux的音影世界 (8120篇文章)
- Linux驱动大全 (8925篇文章)
- Linux下的路由的配置与应用 (11926篇文章)
- Linux命令简介 (9989篇文章)
- 系统维护手册 (17031篇文章)
- 安装qmail全套功略 (18次浏览)
- TurboLinux 入门教程:第七课 TurboLinux简介 (18次浏览)
- Linux系统管理员秘技:用快捷命令一招制胜 (18次浏览)
- Linux系统命令分类详解 (1) (18次浏览)
- Linux下使用aMsn详解 (18次浏览)
- 你会在Linux下用POP3收Web电子邮箱吗? (18次浏览)
- 在Linux中用三款工具轻松制作网页 (18次浏览)
- Linux上的偷窺裝置 (1394的使用) (18次浏览)
- 深入浅出分析Linux内核漏洞的问题 (18次浏览)
- Linux内核调试工具:Kdb应用指南(4) (18次浏览)



