Day11

一、变量的基本介绍

  什么是变量

    解析:变量是计算机内存的单元,其中存放的值是可以改变的。当shell脚本需要存放东西的时候,可以吧一个数字、一个字母的时候,它就存在变量中。

       每一个变量都有一个名字,用来引用它。使用变量可以保存信息,也可以方便的获取信息。

  变量名称的规则

    1.变量名称可以由字母、数字、下划线组成。但是不能以字母开通,而且一般不以下划线开头。

    2.变量在bash中,默认类型都是字符串类型。如果需要进行数值运算,则需要指定变量类型为数值型。

    3.变量两侧通过=(等号)连接,中间不能加空格。

    4.如果变量的值有空格,需要用单引号或者双引号来包含。比如:name=“ ss”。

    5.在变量值中,可以用(转译符)来转译。

    6.如果需要叠加变量的值,那么就需要进行变量值的叠加。变量也需要用双引号来包含“$变量名”或者用${变量名}包含。

        

    7.也可以吧命令的结果作为变量的值,但是需要$()来包含命令。

    8.环境变量一般大写,便于区分。

  变量的分类

    用户自定义变量

    环境变量:这种变量保存的主要是和系统环境相关的变量。

    位置参数变量:这种变量主要是用来像脚本中传递参数和数据的。变量名不能自定义,变量的作用是固定的。

    预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。

二、bash的变量。

  1.用户的自定义变量 

     解析:用户自己定义的变量,用来保存参数。方便实用。而且用户自定义变量只在当前shell中生效。

    自定义变量的操作

      定义变量:$变量名=变量内容

      查看变量:set 查看系统所有的变量,通过|grep查看需要看的变量。set |$变量名

        

      删除变量:unset 变量名。注意这里可以不加$

  2.环境变量

     解析:用户自定义变量只在当前shell中生效,但是环境变量可以在当前shell及其子shell中生效。如果把环境变量写入配置文件

       那么这个变量就会在所有的shell中生效。

     环境变量的操作

        设置环境变量:export 变量名=变量值

        查看环境变量:env

        删除环境变量:unset 变量名

    备注:如何查看shell。

        pstree

        

  3.位置参数变量。

    ①$n  n的意思是数字,$0代表本身

     ②$*  代表所有参数,把所有参数看成一个整体。

    ③$@  代表所有参数,不过把每个参数区别对待。

    ④$#  代表命令中所参有数。

  4.预定义变量

    ①$?  最后一次执行的命令的返回状态,如果这个变量值为0,证明这个命令执行正确上一个命令正确执行,如果这个 变量值为非0 (具体哪个数,由变量自己决定),证明上一个命令执行不正确。

    ②$$  当前进程的进程号(PID)

    ③$!  后台运行的最后一个进程的进程号(PID)。

  5.接受键盘参数。

    命令:read  格式:read   【选项】  变量名

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

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

         ③-n  字符数   :read只要接受到指定的字符数就执行。

         ④-s隐藏输入数据   :类似于输入密码的时候。

  6.数值运算与运算符

    学前知识。

        声明变量类型  declare  语法:declare 【+/-】【选项】变量名

                选项:-:给变量设定类型属性

                   +:取消变量的类型属性

                     -i:将变量声明为整数类型(intrger)

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

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

     数值运算:

      方法①:通过declare -i 来声明变量为整数型。

          

      方法②:用expr或者let数值运算工具

          

          注意:+号的左右两边必须有个空格。

      方法③:"$((运算式))"或"$[运算式]"

          

           注意:这里是双小括号,如果是单小括号代表包含的是系统命令。

  运算符:

      ①  +  加法

      ②   -  减法

      ③  *  乘法

      ④  /  除法

      ⑤  %  取余

      ⑥  =  赋值

      ⑦  ==  相等  用于比较两个数字,相等则返回ture  

      ⑧  !=  不等  用户比较两个数字,不等则返回ture 

       

   变量置换:

      

          

原文地址:https://www.cnblogs.com/kevinzr/p/11842545.html