1、 定义变量:
yourName="jfxu" #"="两边不能有空格
2、只读变量/删除变量
yourName="jfxu"
readonly yourName #变量只读
unset yourName #删除变量
3、使用变量
echo $yourName
echo ${yourName} #"{}"是为了帮助解释器识别变量的边界,建议此种方法
4、已定义的变量可以重新被定义(变量只能被赋值一次,所以重新定义相当于被赋值)
yourName="jfxu"
echo ${yourName}
yourName="xm"
echo ${yourName}
5、字符串变量
5.1获取字符串长度
str="abcd"
echo ${#str} #输出4
5.2提取字符串
str="abcdefg"
cut=${str:0:3}
echo ${cut} #输出abc(已测试OK)
6、变量在' ' 和 " "中的区别
单引号: 任何字符都会原样输出,单引号中的变量是无效的,单引号内部不能出现单引号,即使使用转义字符也是无效的
双引号:双引号中的变量和转义字符都是有效的
eg:
str="abcdefg"
yourName="jfxu" #"="两边不能有空格
2、只读变量/删除变量
yourName="jfxu"
readonly yourName #变量只读
unset yourName #删除变量
3、使用变量
echo $yourName
echo ${yourName} #"{}"是为了帮助解释器识别变量的边界,建议此种方法
4、已定义的变量可以重新被定义(变量只能被赋值一次,所以重新定义相当于被赋值)
yourName="jfxu"
echo ${yourName}
yourName="xm"
echo ${yourName}
5、字符串变量
5.1获取字符串长度
str="abcd"
echo ${#str} #输出4
5.2提取字符串
str="abcdefg"
cut=${str:0:3}
echo ${cut} #输出abc(已测试OK)
6、变量在' ' 和 " "中的区别
单引号: 任何字符都会原样输出,单引号中的变量是无效的,单引号内部不能出现单引号,即使使用转义字符也是无效的
双引号:双引号中的变量和转义字符都是有效的
eg:
str="abcdefg"
echo 'dan yin hao :${str}'
echo "shuang yin hao :${str}"
输出:
dan yin hao :${str}
输出:
dan yin hao :${str}
shuang yin hao :abcdefg