linux第二节SHELL脚本

1.SHELL脚本的创建过程

   SHELL脚本就是放在一个文件中的一系列Llinux命令和实用程序。
   SHELL脚本固定格式如下:
  
  
   #!/bin/bash
   #注释
   命令
   ...
  
   #!用来解释脚本文件,#开头为注释,如果一行未完,可以在行尾加上“\”字符,表示与下一行合并为一行。
  
  
2.SHELL中的特殊字符

   1.通配符
    通配符主要用于模式匹配,例如文件名匹配、字符串查找等。常用如下:
    星号(*),匹配0个或多个字符。
    问号(?),匹配任意单字符。
    方括号([]),匹配方括号中限定的任意一个字符
    感叹号(!),表示方括号列出的字符以外的其他字符。
    
   2.引号
    引号分为双引号、单引号和反引号,除美元符号($)、反引号(’)、和反斜线(\)仍保留其特殊功能外,其余字符均作为普通字符对待。 
    
    
   3.输入输出重定向符
    输入重定向符“<”的作用是把命令的标准输入重新定向到指定文件;输出重定向符“>”的作用是把命令的标准输出重新定向到指定文件。
    
    此外还有输出附加定向符“>>”,它的作用是将命令的输出附加到指定文件的后面,而不破坏文件原有的内容。
    
    
3.SHELL变量

   SHELL是一种解释型语言,使用变量时不需要事先进行声明,对一个变量赋值,实际上就是定义了这个变量。
   例如对STR赋值::
       STR="Hello word"    //////注意等号两边不能有空格。
   变量赋值之后,就可以使用美元符号($)对其进行引用如下:::
     echo $STR
   由于SHELL变量是没有类型的,所以用户在使用同一个变量,可以存放字符,也可以存放整数。 
   
   使用unset命令清楚已经定义的变量。
     unset STR
     
   为了使SHELL编程更为有效,系统还提供了一些特殊的变量,如下所示。
   $0: 脚本名称
   $#: 命令行参数的个数
   $*: 所有的命令行参数
   $[1-n]: 第1-n个命令行参数
   $$: 当前进程的表示符
   $!: 后台运行的最后一个进程的标示符
   $?: 命令的退出状态,0表示没有错误
   
4.条件测试
   test命令通常用来计算一个条件表达式的值,在条件语句和循环语句中经常被用来判断是否满足某些条件。格式如下:
   test 条件
   或
   [条件]   /////使用方括号时,要注意在条件两边加上空格。
   1.字符串测试
       主要操作符如下:
         =:两个字符串相等。
         !=:两个字符串不等。
         -z:字符串为空。
         -n:字符串不为空。
         
   2.数值测试
       主要操作符如下:
           -eq: 两个数相等
           -ne:两个数不相等
           -gt:第一个数大于第二个数
           -lt:第一个数小于第二个数
           -le:第一个数小于等于第二个数
           -ge:第一个数大于等于第二个数
  
  3.文件状态测试
            文件测试主要用来测试文件的类型以及访问权限等,操作符包括如下:
               -f:是否为普通文件
               -d:是否为目录
               -c:是否为字符设备文件
               -b:是否为块设备文件
               -s:文件大小是否为零
               -r:用户对文件是否有读权限
               -w:用户对文件是否有写权限
               -x:用户对文件是否有执行权限
  
  4.逻辑操作
     逻辑操作包括如下:
     -a: 逻辑与                  
     -o: 逻辑或
     !:  逻辑非
   
   
5.控制结构

    1.if语句
      if语句用来实现条件分支结构,它的一般格式如下:
      if 条件1
         then
       命令1
      elif 条件2
        then
        命令2
      else
        命令3
      fi             ////if语句以它的反写fi结尾
     
    2.case语句
    格式如下:
        case 字符串 in
           模式1)
              命令1
              ;;
           模式2)
              命令2
              ;;
             ...
            *)
                命令n
                ;;
        esac                  ///结尾也是反case
       
    3.for循环
    使用for循环,中的变量名来遍历列表中的所有取值,当变量值在列表中时,即执行一次所有命令。
    for循环的一般格式如下:
         for 变量名 in[列表]
         do
           命令 1
           命令 2
           ...
         done   
   
   
  4.while循环
  while循环的一般格式如下:
  while 条件
  do
     命令1
     命令2
     。。。
  done 
  
  5.until循环
     一般格式如下:   //与while 区别不成立时执行do语句
     until 条件
      do
         命令 1
         命令 2
         ...
      done
     
  6.break语句
    break语句用来跳出循环过程,如果用在多层循环之中,可以指定跳出的循环个数,如果在两层循环中,使用break 2刚好跳出整个循环。
   
  7.continue语句
   continue语句用来跳过循环中后面的语句,直接开始下一次循环。 
   
   
6.SHELL函数
   与很多高级语言一样,SHELL中也允许定义函数
   格式如下:
      [function] 函数名()
      {
         命令
       }
      
          
   
   
   
   
   
   
   
      
    
    
    
    
    
    
    
    
    

阅读更多
个人分类: LINUX学习
上一篇linux第一节命令
下一篇第三节VI编辑器的使用
想对作者说点什么? 我来说一句

linux shell脚本

2014年04月12日 47.21MB 下载

Linux Shell脚本

2015年11月21日 167KB 下载

linuxshell脚本

2016年02月13日 18KB 下载

linux shell脚本攻略 电子书

2018年04月10日 859KB 下载

Linux Shell脚本攻略

2017年11月09日 20.46MB 下载

linuxShell脚本.ppt

2013年05月17日 166KB 下载

linuxshell脚本学习

2012年07月22日 9.22MB 下载

linux shell脚本攻略源代码

2012年06月05日 147KB 下载

没有更多推荐了,返回首页

关闭
关闭