Shell变量分类:
1、局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,子shell、其他shell启动的程序不能访问局部变量。
2、环境变量 所有的程序,包括shell启动的子程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。
环境变量可以通过export 普通变量获得,查看当前环境变量可以使用:printenv export -p等等
shell脚本运行方式:
① 创建子shell: 绝对路径和相对路径,需要可执行权限;sh /bash命令
② 不创建子shell: . (空格);source(主要用于生效配置文件)
父shell与子shell环境变量共享
子shell获取获取父的环境变量不能修改,或者说修改后只能自己用,更确切地说子shell获取父shell的环境变量快照自己用。
shell脚本采用3,4方式运行没有产生子shell,这和吧子shell粘贴进来运行效果一致