子shell----父shell
[root@m01-16 ~]# export name=sun
[root@m01-16 ~]# name1=sun
[root@m01-16 ~]# echo $name
sun
[root@m01-16 ~]# echo $name1
sun
[root@m01-16 ~]# bash
[root@m01-16 ~]# echo $name
sun
[root@m01-16 ~]# echo $name1
[root@m01-16 ~]#
expotr定义的环境变量随着bash进程的变化,变量值不变,而普通变量一旦bash进程改变就不存在,但是在原来定义的bash中存在
[root@m01-16 ~]# echo $name1
[root@m01-16 ~]# exit
exit
[root@m01-16 ~]# echo $name1
sun
[root@m01-16 ~]# echo $name
sun
[root@m01-16 ~]#
全局变量特性:
没写到文件中重连会释放
[d:\~]$
Connecting to 10.0.0.61:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Thu Jan 9 19:10:36 2020 from 10.0.0.1
[root@m01-16 ~]# echo $name
[root@m01-16 ~]# echo $name1
[root@m01-16 ~]#
变量的作用域:一个变量在脚本中定义,脚本外不能使用
-
1 sh执行:脚本里面的内容将在一个字shell中执行
-
2 相对路径执行:脚本里面的内容将在一个字shell中执行
-
3 ./test.sh:脚本里面的内容将在一个字shell中执行
-
4 source执行脚本(相当于include)脚本内容将在当前shell中执行,不会产生子shell
-
5 source执行和.执行时一样的,脚本内容将在当前shell中执行
数据类型
赋值时:字符串一定要加双引号
表达式