变量设定规则
用“=”来连接 #test=1 双引号内的特殊字符保留原本特性 test2=“$test1”1 #test2=11 单引号内的特殊字符只是一般字符est2='$test1'1 #test2='$test1'1 \可转义特殊字符 反引号``或$(command)可执行命令后调用 若变量需要在子进程运行,可加上export test 通常变量大写是系统默认变量,小写是自定义变量 取消变量unset #unset test
变量赋值方式
显式赋值
xiaoyaz@localhost:~$ test=1
隐式赋值
xiaoyaz@localhost:~$ read test #123 xiaoyaz@localhost:~$ read -p "变量值是:" test #变量值是:123 xiaoyaz@localhost:~$ read -n 2 test #只能输入两个字符 #11
自定义变量(局部变量)
定义:
xiaoyaz@localhost:~$ test=1
取消:
xiaoyaz@localhost:~$ unset test
引用:
xiaoyaz@localhost:~$ $test xiaoyaz@localhost:~$ ${test}
查看:
xiaoyaz@localhost:~$ echo $test #1 xiaoyaz@localhost:~$ echo ${test} #1 xiaoyaz@localhost:~$ bash #开一个子进程(bash) xiaoyaz@localhost:~$ echo $test #
作用范围:此进程(bash),子进程(bash)不可调用,关闭后失效。
环境变量(全局变量)
定义:
xiaoyaz@localhost:~$ test=1;export test xiaoyaz@localhost:~$ export test=1
取消:
xiaoyaz@localhost:~$ unset test
引用:
xiaoyaz@localhost:~$ $test xiaoyaz@localhost:~$ ${test}
查看:
xiaoyaz@localhost:~$ echo $test #1 xiaoyaz@localhost:~$ echo ${test} #1 xiaoyaz@localhost:~$ bash #开一个子进程(bash) xiaoyaz@localhost:~$ echo $test #1 xiaoyaz@localhost:~$ echo ${test} #1
作用范围:此进程(bash),子进程(bash),关闭后失效。
为什么环境变量会让子进程调用?
开启一个bash,会分配一块内存存放环境变量,开启子bash会读取父内存中环境变量,并存放到自己的内存中。
Bash查看默认环境变量
xiaoyaz@localhost:~$ env #环境变量 xiaoyaz@localhost:~$ set #环境变量和自定义变量