zoukankan      html  css  js  c++  java
  • 第二章 Shell编程之变量

    Shell编程之变量

     一 Bash变量与变量分类

    Bash是Linux中的标准Shell,因此经常称Bash为Shell。

    1. 变量命名规则

    • 变量名可以由字母、数字、下划线组成,但必须以字母与下划线开头;
    • 变量名的长度不能超过255个字符;
    • 变量名在有效范围必须唯一;
    • 在Bash中,变量的默认类型都字符串型;

    2. 变量按照存储类型分类

    默认类型是字符串型。

    • 字符串型,赋值时单双引号皆可;
    • 整形;
    • 浮点型;
    • 日期型;

    二 用户自定义变量

    变量名与变量值都是用户自定义的,就是说可以由用户控制修改的。

    1. 变量定义

    变量名=变量值

    注意:"="左右不能有空格。

    2. 变量调用 

    echo是最简单的变量调用,也只能用作输出。

    如:echo $变量名

    3. 变量叠加

    例如:

    x=123

    x="$x"456

    x=${x}789

    当echo $x时输出123456789

    用处:环境变量的添加,如PATH路径。

    4. 变量查看

    set

    能够查询当前系统运行的所有变量,包括系统环境变量与当前shell的用户自定义变量。

    选项:-u ,如果设定此选项,再用echo调用未声明的变量时会报错。

    如y变量未被声明赋值,使用echo $y时会打印出空行;如果先使用set -u,再echo $y时会提示不存在此变量的提示。

    5. 变量删除

    unset

    使用方法:unset x,unset并不是删除变量里面的值,而是删除变量,因此变量名前不需要加$。

     

    三 bash环境变量

    bash命令可以进入当前shell的子shell,可以通过pstree查看当前所在的shell,可以通过这个方法做后面的环境变量与用户自定义变量生效区域的实验。

    1. 环境变量与用户自定义变量的区别

    环境变量是全局变量,用户自定义变量是局部变量。
    用户自定义变量只在当前的 shell 中生效,环境变量在当前 shell 和这个 shell 的所有子 shell 中生效。
    用户可以自定义环境变量,但对系统生效的环境变量名和变量作用是固定的。

    2. 用户自定义环境变量

    • export 变量名=变量值;
    • 变量名=变量值   export 变量名;

    3. 查看环境变量

    • set 或 declare 查看所有变量
    • env 查看环境变量

    4. 增加环境变量

    • 编写bash脚本;
    • 加入到PATH环境变量,用:分隔;

    5. 删除环境变量

    $ unset 环境变量

    6. PS1环境变量

    即命令提示符设置的显示,如:[root@qcxiao ~]# 

    以下相关的指令,注意:需要用set才能查看到PS1。

     7. PS2环境变量

    作用:当前行,命令显示不完即换行时,可以加以利用。

     四 bash语系变量

    1. 当前语系查询

    • locale  

    #查询当前系统语系

    - LANG:定义系统主语系的变量;

    - LC_ALL:定义整体语系的变量;

    - locale -a | more 查询所有语系环境;

    2. 默认语系

    保存在文件:/etc/sysconfig/i18n,这个语系变量表示在下次开机时的语系环境。

    五 位置参数变量

    1. 

     

    • 其中我认为$n有点类似于Java语言的形参;
    • 使用$*、$@、$#时必须要用双引号括起来;

    六 预定义变量

     

  • 相关阅读:
    chromedriver版本对应支持的Chrome版本
    post请求,直接在地址后加请求参数,并将请求参数 url加密
    Requests 请求-重定向Location
    requests 进行https请求,一直报SSL 报错,以及 移除SSL认证后的InsecureRequestWarning警告解决
    fiddler 设置,只过滤固定域名的网址
    python requests库,请求返回 中文乱码问题的解决
    python post请求,application/x-www-form-urlencoded格式,提交数据key、val均需URL转码
    python post请求,text/xml 格式
    那些年找工作入过的坑! 避雷!!!!
    构建前端gulp自动化
  • 原文地址:https://www.cnblogs.com/dayaodao/p/5125928.html
Copyright © 2011-2022 走看看