shell script基础

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)