变量均为字符串,shell 里面字符串可以不加双引号但是要等号周边没有空格。
name1='abc' //后面也没有分号
name2="abc"
name3=abc
使用变量
echo $name1 //输出name1, 即 abc
echo $name2
echo ${name3}123 //表name3为变量名字,再输出123字符串,最终输出abc123
常量
readonly name1=abc //声明一个变量为abc,只读,不可修改
declare -r name2=abc
删除变量
name1=abc
unset name1
echo $name1 //输出为空,删除变量即变为空字符串
自定义变量:局部变量, 环境变量:全局变量
自定义变量是不能被子进程访问的,环境变量可以被访问
自定义变量转环境变量,这个好像不能在vim中执行,只能在黑框中输
name=abc //自定义变量
export name //第一种方法变为环境变量
declare -x name //第二种方法变为环境变量
bash //将当前进程休眠掉,开个子进程
echo $name //看看输出name 的效果,输出结果为abc
exit //退出子进程,重新进入原来的进程
//环境变量转为自定义变量
export name=abc //方法一
declare +x name //方法二
bash
echo $name //输出为空