普通变量也叫局部变量
> RUMENZ="入门小站"> echo $RUMENZ> unset RUMENZ普通Shell变量只能在当前Shell被访问。而环境变量不仅可以在当前Shell被访问,子Shell也可以被访问。
> export RUMENZ="入门小站"[root@local ~]# ps -axjf | grep pts
PPID PID
3457 10045 10045 10045 ? -1 Ss 0 0:00 \_ sshd: root@pts/0
10045 10050 10050 10050 pts/0 13384 Ss 0 0:00 \_ -bash
10050 13384 13384 10050 pts/0 13384 R+ 0 0:00 | \_ ps -axjf
10050 13385 13384 10050 pts/0 13384 S+ 0 0:00 | \_ grep --color=auto ptsps -axjf第一列是PPID(父进程PID),第二列是PID(子进程PID),当SSH连接到Shell时,当前终端的PPID(-bash)是ssh守护进程的PID(root@pts/0),因此在当前终端下所有进程的PPID都是-bash 的PID,不如运行命令,执行脚本。
所以在-bash下定义的变量,只有在-bash进程有效,可以被访问,子进程是访问不到的。除非使用export
[root@local ~]# RUMENZ="入门小站"
[root@local ~]# echo $RUMENZ //当前Shell可以访问到
入门小站
[root@local ~]# bash //进入子Shell
[root@local ~]# echo $RUMENZ //访问不到[root@local ~]# RUMENZ="入门小站"
[root@local ~]# echo $RUMENZ //当前Shell可以访问
入门小站
[root@local ~]# export RUMENZ //升级成环境变量
[root@local ~]# bash //进入子Shell
[root@local ~]# echo $RUMENZ //子Shell可以被访问
入门小站
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。