博文六:bash中的变量

一、简述

    变量的用途:数据存储、参与运算

    变量类型:

        1.强类型:定义变量时必须指定类型、参与运算必须符合变量所定义的类型要求。

        2.弱类型:无需指定,默认均为字符型,参与运算时会自动进行隐式类型转换。

    变量的定义类型选择:

        1.取决于数据存储的格式、存储的空间要求、参与运算的种类。

        2.字符型、数值型(整数型、浮点型)。

二、bash变量

    根据其生效范围

        1)本地变量:生效范围为当前的shell进程,对当前shell之外的其它shell进程无效,对当前shell的子shell进程也无效。

            赋值方式

                name=‘value’

            定义方式

方式案例
直接name=username
变量引用name="$username"
命令引用name=`COMMAND`,name=$(COMMAND)

            变量引用

名称符号功用
弱引用“”其中存在的变量引用会被替换为变量引用后的值
强引用‘’其中存在的变量引用不会被替换,保持原字符串形式

            显示定义的变量

命令功用
set主要是显示系统中已经存在的shell变量

            销毁变量:unset name

        2)环境变量:生效范围为当前shell进程及其子shell进程。

            赋值方式(将自定义变量转换成环境变量)

                export name=VALUE

                declare -x name=VALUE

            变量引用:$name,${name}

            显示所有环境变量:export,env,printenv

            销毁变量: unset name

        3)局部变量:生效范围为当前shell进程中某代码片段中,此片段通常指函数。

            变量命名法则:

                不能使用当前程序中的保留字(如if、for)。

                只能使用数字、字母、下划线,不能以数字开头。

                尽量做到见名知义。

            只读变量的定义方式

                readonly name

                declare -r name

        4)位置变量及特殊变量。

表示法释义
$0调用命令本身,常用与调取当前脚本文件名称
$1-$9调用对应的第1个到第9个参数
$@调用传递给脚本的所有参数,将其作为一个列表对象
$*调用传递给脚本的所有参数,将其作为一个字符串
$#统计传递给脚本的参数的个数
$?脚本执行的返回值

三、补充

    bash内建的环境变量

变量意义
$当前shell的PID
HISTSIZE历史命令记录上限
HOME当前用户的目录
HOSTTYPE当前主机cpu架构
LANG语言
MACHTYPE当前系统的核心参数
MAIL当前用户邮件存放路径,邮箱路径
OSTYPE系统类型
PATH执行文件的路径
PS1终端控制台提示符
RANDOM随机数

 

    其他优秀博客:http://blog.sina.com.cn/s/blog_c2301e6e0102wwu9.html

转载于:https://my.oschina.net/comics/blog/2221504

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值