1、定义变量
mytest="csn123"
【注意】:变量的一些规则
1)变量名和等号、等号和值之间不能有空格
2)变量名首个字符必须为字母,中间不能有空格,可以使用下划线,不能使用标点符号,不能使用bash关键字
给变量重新赋值,即进行变量的重定义
2、变量的使用
1)使用一个定义过的变量,只要在变量名前面加美元符号$即可
echo $mytest
echo ${mytest}
两者效果一样,加花括号是为了帮助解释器识别变量的边界,推荐加上花括号
2)变量内容存在双引号,或单引号,如下:
var="lang is $LAN" echo ${var}显示为lang is en_US,即保留双引号的特殊字符使其保留原有的特性
var='lang is $LAN' echo ${var}显示为lang is $LAN,单引号内的特殊字符仅为一般字符,不保留其原有特性
3)\为跳脱字符,可以将紧跟着的特殊字符变为一般字符
4)若变量需要在其他子程序(在目前shell情况下,去激活另一个shell,则新shell就是子程序)运行,则需要以export 来使变量变成环境变量 :export var
5)变量类型默认为字符串,如果需要指定类型,则需declare
3、只读变量
mytest="csn123"
readonly mytest
【注意】:
1)只读变量不能重新赋值
2)只读变量无法通过unset命令删除
4、删除变量
mytest="csn123"
unset mytest
5、环境变量
为了区别与自定义变量的不同,环境变量通常以大写字符来表示
6、变量的内容替换
1)var_A=${var_A-var_B}
echo var_A
若变量var_A存在值,则显示var_A对应的值;若var_A不存在值,则显示var_B对应的值
2)
var_A=${var_A:-var_B}
echo var_A
若变量var_A未被复制,且不为空值,则显示var_B对应的值;反之,显示var_A对应的值。
7、若希望变量为数字整形,则需要用declare来进行声明,这样变量就可以进行运算