shell中的变量

ε祈祈猫儿з 提交于 2020-02-07 12:54:14

shell中的变量

变量的定义

变量(variable)在编程语言中用来表示数据。它本身只是一个标记,指向数据在 计算机内存中的一个或一组地址。 变量通常出现在算术运算,数量操作及字符串解析中。
定义变量的方式有三种:

variable=value
variable='value'
variable="value"

variable是变量名,value是赋给变量的值
如果value不包含任何空白符(例如空格、Tab等),那么可以不使用引号;如果value包含了空白符,就必须用引号包围起来
注意:
1.=周围不能有空格
2.shell中变量没有数据类型 任何类型它都默认为字符串

变量的使用

使用一个定义过的变量,只要在变量名前加美元符号$即可。例如变量名是 variable1 , 那么 $variable1 就是对变量值的引用。注意变量仅仅在声明时、赋值时、被删除时( unset )、被导出时( export ),算 术运算中使用双括号结构((…))才不需 要有 $ 前缀。。赋值可以是使用 =(比如 var1=27 ),可以是在 read 语句中, 也可以是在循环的头部( for var2 in 1 2 3 )

#!/bin/bash
url=http://www.baidu.com
echo $url
echo hello  # 没有引用变量,"hello" 只是一个字符串...

修改变量的值

shell是个解释性语言,同一变量在同一文件可以被重新赋值

#!/bin/bash
url=12
echo ${url}
url=123
echo $url

结果为

12
123

定义只读变量

readonly 变量名

#!/bin/bash
myurl="www.haha.org"
# 定义只读变量后不可以删除和修改
readonly myurl
myurl="www.haha.oadg"
echo $myurl

结果为:

02.sh: line 5: myurl: readonly variable

删除变量

unset 变量名 :清空变量内容

#!/bin/bash
myurl="http://www.westos.org"
unset myurl
echo $myurl

注意:unset不能删除只读变量

declare声明变量

将多个变量声明为整数

#!/bin/bash
declare -i m n ret			#将多个变量声明为整数
m=10
n=30
ret=$m+$n
echo $ret

结果为

40
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!