美文网首页
6、Shell的变量

6、Shell的变量

作者: 爱学习的蹭蹭 | 来源:发表于2019-11-27 19:03 被阅读0次

    1、什么是shell 变量

    • 用一个固定的字符串去表示不固定的内容

    2、变量的类型

    自定义变量、环境变量、 位置变量、 预定义变量

    2.1. 自定义变量

    • 定义变量: 变量名=变量值,变量名必须以字母或下划线开头,区分大小写,比如:ip1=192.168.2.1
    变量类型 变量说明
    引用变量 变量名 或{变量名}
    查看变量 echo $变量名 set | (所有变量:包括自定义变量和环境变量)
    取消变量 unset 变量名
    作用范围 仅在当前 shell 中有效

    2.2. 环境变量

    • 定义环境变量
    • 方法一 export back_dir2=/home/backup
    • 方法二 export back_dir1 将自定义变量转换成环境变量
    环境变量类型 变量说明
    引用环境变量 变量名 或{变量名}
    查看环境变量 echo $变量名 env 例如 env |grep back_dir2
    取消环境变量 unset 变量名
    变量作用范围 在当前 shell 和子 shell 有效

    C 语言 局部变量 vs 全局变量
    SHELL 自定义变量 vs 环境变量


    2.3. 位置变量

    • 语法:每个变量都是以空格隔开进行传值.
    $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
    

    2.4. 预定义变量

    标识符号 符号作用说明
    $0 脚本名
    $* 所有的参数
    $@ 所有的参数
    $# 参数的个数
    $$ 当前进程的 PID
    $! 上一个后台进程的 PID
    $? 上一个命令的返回值 0 表示成功

    3、 局部变量

    • 3.1、定义变量时,使用local关键字
    • 3.2、函数内和外若存在同名变量,则函数内部变量覆盖外部变量

    4、全局变量

    • 4.1、不做特殊声明,Shell中变量都是全局变量
    • 4.2、大型脚本程序中函数中慎用全局变量

    相关文章

      网友评论

          本文标题:6、Shell的变量

          本文链接:https://www.haomeiwen.com/subject/ikkhwctx.html