• shell讲解


    shell变量

    系统变量和和用户自定义变量

    系统变量如下

     

     显示当前所有变量 set命令

     定义变量: 变量=值  =两边无空格

    unset 撤销一个变量

     

     声明静态变量,但是静态变量不能撤销

     

     shell定义的变量规则

    1.变量名称由字母,下划线,数字组成,不能以数字开头

     

     

    2.等号两侧不能有空格

    3.变量名称一般为大写

    shell可以通过命令的返回去去展示结果

    两种方式:

       1. result=`命令·

       2.result=$(命令)

     

     

     

    设置环境变量

    export  变量名=变量值       // 将shell变量输出为环境变量

    source 配置文件                 // 让修改后的配置信息立即生效

    echo $变量名                  //查询环境变量的值

     注意:环境变量可以为很多文件使用

    位置参数变量

       当我们执行了一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量比如   ./shell.sh 100 200    这就是执行的一个shelll命令,可以在在shell.sh获取到

      $n : n为数字,$0代表命令本身,$1到$9代表第一个到第九个参数,10以上的参数需要用大括号比如${10}

      $* 这个代表命令行中所有的参数,$*把所有的参数看成一个整体

      $@  这个命令同上,也代表命令行中所有的参数,只不过是$@把每个参数区分对待,在接下来的for循环表现明显,类似于java的遍历

      $# 这个变量代表命令行中所有的参数的个数

    预定义变量

        就是shell设计者已经定义好的变量,可以直接在shell脚本中直接使用

        $$  当前进程号是

        $! 后台运行的最后一个进程的进程号

        $? 最后一次命令的执行状态,如果这个变量值为 0则最后一次的执行命令是正确的,如果是非0 数值无所谓,则执行错误

     shell中的进行算数各种操作

           1、$(( 运算式    ))  或者$[ 运算式]

           2、expr m + n //  运算符之间要有空格

           3、expr m - n

           4、expr * , /, % 乘,除,取余

     案例 计算2+4的值

     

    案例 计算命令行两个参数的和

     

     

       案例 计算2+3两个数用 expr  ` 2 + 3 `

        expr中的 *代表乘,/代表除,%代表取余

        result=`expr   计算式 `

             

        

     条件判断:

        两个整数的比较

          =      字符串比较  

    -    -lt     小于

         -le    小于或等于

         -gt    大于

         -ge   大于或等于

        -ne   不等于

    按照文件的权限进行判断

      -r  进行读的权限

      -w 进行写的权限

      -x  进行执行的权限

    按照文件类型进行判断

      -f 文件存在,是个常规文件

      -e 文件存在

      -d 目录是否存在

    应用案例:1、 ok是否与ok相等

     

                      2、23是否大于22

             

     

     shell之if语句

               if [  判断 ]

           then      echo “执行的程序”

              fi

    或者

           if [ 判断 ]

         then   echo "执行的程序"

          elif [判断]

         echo   “执行的程序"

           fi

         注意: 条件判断式和中括号之间  必须有空格

    请输入一个shell程序,如果输入的参数大于等于60,则输出及格了,小于60 则不及格

         

     

     

      

     

      case语句

           case $变量名 in

             ”值1“)

            如果变量值等于1,执行程序1

            ;;

            "值2")

           如果变量值等于2,执行程序2

           ;;

           *)

           ;;vim

           如果变量的值都不是以上的值,则执行此程序

          esac

     案例: 当命令行参数是1时,输出周一,当命令行是2时,输出周二,其他情况输出other

         

       for循环

          for 变量 in 值1 值2 值3

        do

              程序

        done

    案例   打印命令输入的参数

     第一种方式

      

     :

     第二种方式

     

       

    注意   :      $* 是吧参数一下子给,,,, $@是把参数一个一个给

      案例: 从1加到100

      

     :

     

     while循环

        while [ 条件判断 ]

               do  

                   程序

               done

       案例:从命令行输入一个数n,统计从1+。。。。。n的值是多少?

            

     

     

       

       

     

     

  • 相关阅读:
    git命令
    svg学习系列02-简单的svg图形和线条
    svg学习系列01-svg简介
    jQuery分页插件
    svg简介
    css3选择器
    sublime使用
    HTML5新特性
    html新的语义化标签和表单控件
    DOM详解
  • 原文地址:https://www.cnblogs.com/bianfuxia/p/12004122.html
Copyright © 2020-2023  润新知