您的位置:首页 > 运维架构 > Shell

shell script基础

2016-04-08 10:06 399 查看
0、常用知识点总结:

    read:键盘读取;

    declare:声明;

    alias:别名设置(unalias)

    history:历史命令

 

    Ctrl+c:终止目前的命令;

    Ctrl+D:EOF;

   

    > :以覆盖的方法将正确的数据输出到指定文件;

    >> :以追加的方法将正确的数据输出到指定文件;

   

    2> :以覆盖的方法将错误的数据输出到指定文件;

    2>> :以追加的方法将错误的数据输出到指定文件;

 

1、管道符:

    (1)多命令顺序执行执行:

 
      命令1  ;命令2 ...... ——命令1、命令2顺序执行,命令1和命令2之间没有逻辑关系

 
      命令1  && 命令2 ...... ——命令1正确执行,命令2再执行;命令1执行错误,命令2不执行

 
      命令1  ||命令2 ......——命令1正确执行,命令2不执行;命令1执行错误,命令2才执行

 
           注意:命令1  &&  命令2   ||  命令3

   
(2)管道符:

 
        命令1  |   命令2  ——命令1 的正确输出  作为  命令2 的操作对象

 
             例如:ls  -l  /etc   |    more    :用more命令查看/etc目录下的文件

 
      

2、通配符:

 
      ? :匹配任意一个字符

 
      *   :匹配多个字符

 
      [ ] :匹配中括号内任意  一个  字符,

 
      [ - ]:- 代表一个范围

 
      [ ^ ]:逻辑非

 
                 [abc]匹配a、b、c中任意   一个;

 
                 [0-9]匹配0到9中任意 一个

 
                 [^0-9]匹配不是数字

 
      # :代表注释

 
      ' ' :单引号。在单引号中所有的特殊符号都不起作用,不具有变量置换功能

 
      " ":双引号。具有变量置换功能

 
       $ :用于调用变量的值。例如$name,得到name变量的值

 
      $( ) :括号内是系统命令,在Bash中先执行它,和夹在两个反单引号(1左边)中间一样

 
        \  :转义符,跟在\之后的特殊符号  将失去特殊意义

 


 

3、shell script的默认变量($0 , $1 ...)

   /path/scriptname  opt1  opt2  opt3

        $0         $1    $2    $3

   执行的脚本文件名为$0这个文件名,第一个参数就是$1.。。。。。

 

4、条件判断式:[ condition ] —— “-a”是“且”;“-o”是“或”!

        [ "$sum" == "100" ]   千万注意前后中括号都有一个“空格”,并且还要注意等于号两边条件都要用双引号包住!还要注意等于号两边各有一个空格!不要粘连!

 

5、条件判断:

   (1) if [ 条件判断式 ]; then

           程序段

       fi

   (2) if [ 条件判断式一 ]; then

           程序段

       elif [ 条件判断式二 ]; then

           程序段

       else [ 条件判断式三 ]; then

           程序段

       fi

    (3) case $变量名称 in

           "变量一")

               程序段

           ;;

 

           "变量二")

               程序段

           ;;

 

           "变量三")

               程序段

           ;;

 

           *)                #代表其他值

               程序段

           ;;

 

6、函数功能:

      function funName(){  程序段  }

 

7、循环:

   (1)不定循环:

      A:while [ condition条件判断式 ]      #当condition成立时,就开始循环

         do

             程序段

         done

 

      B:until [ condition条件判断式 ]      #当condition成立时,就终止循环

         do

             程序段

         done

 

    (2)固定循环:

      A: for Var in con1 con2 con3 ...      #第一次循环,Var为con1;第二次循环,Var为con2;......

         do

             程序段

         done

       例如:for num in $( seq 1 100) ——seq式sequence(连续)的缩写

     

      B: for ( ( 初始值; 限制值; 执行步长) )

         do

             程序段

         done 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell