Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2793271
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: LINUX

2013-02-22 19:23:46

四、命令

熟悉了上面三部分内容对于我们写shell程序奠定了基础。但巧妇难为无米之炊

 

shell程序的主体内容是shell所提供的命令:例如 cp ls useradd

如果你没有系统学习过shell的命令,你是写不出来shell程序的。

 

最后得出结论:

变量+条件+程序结构+shell命令==shell程序。

 

五、实例:

1. 编写shell程序,实现自动增加50个账号的功能。账号名为stud1stud50

 

#! /bin/bash

#useradd.sh

 

#i这属于变量

i=1

 

#while 这属于程序结构

while [ $i -le 50 ]

do

  #cat ...命令的含义是使用管道以及正则表达式查看passwd文件中是否存在类似#stud1-stud50之间的用户.这属于 shell 命令

 # -z 测试字符串是否为空.这属于条件

       if [ -z "`cat /etc/passwd|grep "stud$i\>"`" ]

       then

              useradd stud$i

              echo "useradd success!"

       else

              "user stud$i exist!"

       fi

      

done

 

最终验证了我的结论:

shell程序=变量+条件+程序结构+shell命令。

一开始接触linux shell,大多都认为比较难学。但按照上面的学习思路,很快你就会学会shell编程。

 

六、补充知识:

函数:

Shell也提供了函数机制。格式如下:[function] NAME() {command-list;}

返回值:return [n]

将函数的返回值设定为n .若不指定n值,则使用return 之前所执行的最后一个命令的状态值。

$?

执行后命令后的状态

实例:

#/bin/bash

function psgrep

{

       ps –aux|grep $1

}

 

阅读(680) | 评论(0) | 转发(0) |
0

上一篇:shell中的特殊字符

下一篇:shell数组小结

给主人留下些什么吧!~~