Linux变量

来源:互联网 发布:双语名著阅读软件 编辑:程序博客网 时间:2024/06/05 18:57

shell脚本

    我们所输入的命令计算机是不识别的, 这时就需要一种程序帮助我们进行翻译,变成计算机所识别的二进制程序,同时又将计算机所执行的结果翻译给我们,

这个就是shell。

执行脚本的不同方式

   第一种使用绝对路径

   第二种使用相对路径 如./方式

   第三种使用sh/bash命令来执行  格式:sh /路径(不需要执行权限)


shell的变量:

常见的shell变量有自定义变量,环境变量,位置变量,预定义变量

一般用echo 输出变量的值


1.自定义变量

         是用户根据自己的环境自己定义的变量,bash中比较简单的变量,不用进行提前声明,而是直接指定变量名称并赋给初始值

    定义变量的基本格式为变量名=变量值等号两遍不允许出现空格。$是引用变量的特殊字符,必须用$符号

           如:定义一个变量Linux:Linux=7.2 echo $Linux    输出结果是7.2

       注意:当变量名和后面的字符 容易 混淆的时候应该使用{}将变量括起来

          如:echo {$linux}system

     在linux中变量默认为字符串类型,例如:

               

   如上所述,c为1+2,结果也是字符串类型。

     1.declare 声明变量类型

                  declare [+/-] 选项 变量名

                                    -:给变量设定类型属性                                  +:取消变量的类型属性

                                   -i: 将变量声明为整数型                                   -x:将变量声明为环境变量            -p:查看变量声名的类型

             如:将上述的c声明为-i,输出结果为3

      2.expr或let数值运算工具

            运算符与变量之间必须有一个空格位(用expr),整数 的运算主要是通过 内部命令expr命令进行运算,命令用$()括起来

     3.$((运算符))或$[]

                c=$(($a+$b));输出为300

        shell中的运算符如下:

                              

            

    read命令:用来提示用户输入信息,从而实现简单的交互式过程,执行时需要从标准输入设备键盘读取一行,并以空格为分隔符

            如:read dell hp       输入   1   2    echo $dell 最后输出 1         -p选项用来设置提示信息 

                       

   数值变量的运算

           shell 脚本的数值运算多用于脚本程序 的过程控制(如签王次数,使用量比较等)

    在shell环境中,只能进行的整数运算,

      

                格式       变量1    运算符    变量2

              加法运算:+                 减法运算:-

              乘法运算:\*                 除法运算:/                 求模运算:%

     保存运算结果:

                     

2.特殊变量

   1.环境变量:环境变量是指系统 本身运行需要由linux系统提前创建好的一类变量,主要用于用户的工作环境,环境蛮的值 由操作系统

本身自己维护 ,随着用户的状态改变而改变。

        使用env命令来调取 当前环境变量,环境变量的配置文件在/ect/profile(全局)

        $PATH :定义命令的默认搜索  路径(只有自己执行的命令在Path包括的目录下,才可以直接使用并使用tab补齐。如是不在path所包括的路径下只能

                        通过 绝对路径或相对路径使用。

     例 :将我们写的脚本放在PATH默认的路径上:(但并没有永久的生效)

                               

         如果 想要永久的生效 :vim /etc/profile             #所有用户都 生效      在最后追加,刚刚添加 进去的需要运行source  /etc/profie

                                                                                          #只有root 用户生效  # vim /root /.bash_profile   在最后追加

       2.位置变量

              为了使用shell 脚本程序 是方便通过 命令行为程序 提供参数 Bash引用了位置变量的概念,当执行命令操作时第一个字段表示 命令字

或程序名,其余的字符串从左到右的顺序依次给位置变量赋值。

                

    3.预定义变量

       $#:命令行中 位置变量的个数 (程序执行了几个位置参数 )

        $*:所有位置变量的内容

        $?:上一条命令执行后返回的状态,当返回状态值 为0时表示 执行正常非0表示 执行异常或出错判断 是否出现 错误正常为0

             导常错误为非0   取值在1-127之间

         $0:当前执行的进程/进程 名

         !$:表示 上一个命令的最后一个参数

     

    sed 和 awk

      sed编辑器是一行一行的处理文件内容的,正在处理的内容存放在模式空间内,处理完成后按照选项的规定进行输出 或文件

    

      


0 0
原创粉丝点击