shell变量
定义一个变量:your_name=”tian”
首个必须是字母,不能用空格,
使用变量 : 使用一个定义过的变量,只要在变量名前面加上美元符号即可
echo $your_name —–tian
echo ${your_name}---tian 变量名后的{}是帮助解释器识别边界,
eg: echo "my name is ${your_name}songtao"如果不加,解释器
就认为your_namesongtao是一个空的变量。
只读变量:
使用readonly命令可以将变量定义为只读,只读变了不能被改变,相当于java中的final
my='tian' readonly = my my就不能再更改,
删除变量:
unset your_name 删除后变量不能使用,不能删除readonly变量
变量类型:
1、局部变量:在脚本或命令中定义的,仅在当前shell中使用的
2、环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,
3、shell变量:shell变量是由shell程序设置的特殊变量,shell变量中有一部分是环境变量
有一部分是局部变量,
shell字符串:
单引号字符串:里面的内容还原样输出,里面的变量无效,单引号中不能再用单引号
双引号字符串: 双引号中可以有变脸,可以出现转义字符。
字符串拼接: 直接拼接。带{}拼接
name=”tian”
str=”hello”
namestr1=”hello
{name}”
str—-hellotian str1 —-hello tian
获取字符串长度,string =”abcd” echo ${#string} 结果为4
查找字符串
str=”tian songtao is a man”
echo `expr index "$str" is` ``符号是~键
提取字符串 echo ${str:1:4}
字符串数组:
数组名=(值1 值2 值3 值4) arry=(1 2 3 4)
读取数组 ${数组名[下标]} ${arry[0]}
用@符号可以获取数组所有元素, echo ${arry[@]}
获取数组的长度: length=#{#arry[@]} length=${#arry[*]}
shell注释:
以#开头的行就是注释,没有多行注释。