定义变量
中间不需要加空格,末尾也不需要分号。
name1=jth #不加引号定义
name2='jth' #单引号定义
name3="jth" #双引号定义
这三种都表示字符串变量。
使用变量
使用$
符号,或者${}
。加花括号主要是帮助解释器识别变量边界。
echo $name #输出jth
echo ${name} #输出jth
echo ${name}hello #输出jthhello
如果字符串中有空格而又没加大括号则会报错。
只读变量
可以用readonly name
或者declare -r name
此时再修改name会报错
删除变量
可以使用unset name
,再输出会输出空行。
变量类型
对于局部变量,子进程不可访问的变量
对于全局变量,子进程可以访问。
局部变量改为全局变量export name
或者 declare -x name
全局变量改为局部变量declare +x name
对于进程,可以在命令行直接输入bash命令进入一个子进程,输入exit退出这个进程。
获取字符串长度
echo ${#name}
提取字串
echo ${name:0:5} #提取从0开始的5个字符