linux脚本怎么定义变量的值,Shell变量的定义和使用

变量是所有的编程语言必不可少的组成部分,变量常常用来存放各种数据。

和一些编程语言不同的是,脚本语言在定义变量时可以直接赋值而不需要指明类型 Shell 就是如此。Shell 给变量赋值时,实际上就是定义了变量,在 Linux 支持的所有 Shell 中,都可以用赋值符号(=)为变量赋值。

Shell变量的定义

变量是计算机语言中能储存计算结果或能表示值的内存单元,其中存放的值是可以改变的。当 Shell 脚本需要保存文件名或数字时,就把文件名或数字存放在一个变量中,而每个变量都会有自己的名字,所以很容易就能找到它。

在 Shell 中,定义变量的语法格式如下:

[root@bogon ~]# name=[value]

如果 value 没有指定为何值,变量将被赋值为空字符。变量名称为字母、下划线以及数字的组合,但不能以数字作为首字母开头;变量名称也没有要求大小写,但建议统一使用大写或小写来防止出错。

定义变量的方式通常有以下 3 种:

[root@bogon ~]# name=value

[root@bogon ~]# name='value'

[root@bogon ~]# name="value"

在 Bash Shell 中,每一个变量的值都是字符串,无论在给变量赋值时有没有使用引号,值都会以字符串的形式存储。例如,定义变量 name 的值为 sc,通过 echo 命令来查询变量的值。

[root@bogon ~]# name=sc

[root@bogon ~]# echo $name

sc

变量定义后可以使用 来调用变量的值。

变量可以通过变量名访问,变量名的命名规则如下:

变量名可以由字母、数字和下画线组成,但是不能以数字开头。

在 Bash 中,变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。

变量用等号“=”连接时,等号左右两侧不允许有空格。这是 Shell 语言特有的格式要求。在绝大多数的其他语言中,“=”左右两侧是可以有空格,但是在 Shell 中命令的执行格式是“命令[选项] [参数]”,如果在“=”左右两侧加入空格,那么 Linux 系统会报错。

变量值中如果有空格,则需要使用单引号或双引号。例如:test=“hello world!”。双引号括起来的内容“$”和反引号者都拥有特殊含义,而单引号括起来的内容都是普通字符。

在变量值中,可以使用转义符“\”。

如果需要增加变量值,那么可以进行变量叠加。变量叠加可以使用两种格式:“$变量名”或 ${变量名}。

如果要把命令的执行结果作为变量值赋予变量,则需要使用反引号或 $() 包含命令。

环境变量名建议大写,便于区分。

Shell变量的使用

使用一个已经定义过的变量,只需在变量名前面加美元符号“$”。例如:

[root@bogon ~]$ name='http://www.weixueyuan.net/linux/'

[root@bogon ~]$ echo $name

http://www.weixueyuan.net/linux/

变量名外面的花括号 {} 是可选的,可以加也可以不加,加花括号是为了帮助解释器识别变量的边界。例如:

[root@bogon ~]$ name='http://www.weixueyuan.net/'

[root@bogon ~]$ echo "I am good at ${name}"

I am good at http://www.weixueyuan.net/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值