shell基础2

大憨熊 提交于 2020-02-12 19:06:13

 

五、shell变量和运算符

变量:

  由字母、数字、下划线组成,但是不能以数字开头。

  变量的默认类型都是字符串型,若要进行数值运算,则必须指定变量类型为数值型。一般用$(( ))。

  变量用等号连接值,等号左右两侧不能有空格。

 

  变量分类:

    用户自定义变量: name="1111"

    环境变量:一般大写

    位置参数变量:这种变量主要是用来向脚本中传递参数或者属鸡的,变量名不能自定义,变量的作用是固定的。

    预定义变量

  

    (用户自定义变量和环境变量忽略不讲。)

 

 

  1、位置参数变量:

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

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

    $@     这个变量也代表命令行中所有的参数,$@把每个参数区分对待

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

           

 

 

 

 

   2、预定义变量:

     $?  最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令不正确了。

    $$  当前进程的id号

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

 

  3、read接收键盘输入:

    read [选项] [变量名]

  选项: 

    -p  “提示信息”:在等待read输入时,输出提示信息

    -t   秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间

    -n   字符数:read命令只接受指定的字符数,就会执行

    -s :隐藏输入的数据,适用于机密信息的输入

    

 

 

 

运算符:

  1、数值运算方法

    (1)使用declar声明变量类型

      既然所有变量的默认类型是字符串类型,使用declare命令可以实现声明变量的类型,命令如下:

        declare [+/-][选项] 变量名

      选项:

        -:给变量设定类型属性

        +:取消变量的类型属性

        -a:将变量声明为数组型

        -i:将变量声明为整数型

        -r: 将变量声明为只读变量

        -x:将变量声明为环境变量

        -p:显示指定变量的被声明的类型

             

 

 

    (2)使用expr或let数值运算工具

      

 

 

      注意:使用expr时,“+”号左右两侧必须有空格

 

    (3)使用 “$((运算式))” 或 “$[运算式]”

      

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!