即使加上$符,也只能在当前shell里面删除父进程继承下来的变量,但是对父进程是不会影响的。通过env环境变量查看命令可以看到。
也就是说,定义一个环境变量(全局变量),它的子进程都会通过fork函数享有这个变量所在的内存区。如果在子进程中unset了这个变量,子进程中就会释放该内存。但是对父进程是不会有影响的。exit子进程后,通过env还会看到先前定义的环境变量。在bash一个子进程,会发现又继承里父进程的环境变量。。是因为不是同一个子进程。通过echo $$可以看当前bash pid号。
就像一父亲生了两个儿子。都会继承了父亲的优良基因。大儿子却做了个小手术,导致不是儿子了。小儿子没动根
也就是说,定义一个环境变量(全局变量),它的子进程都会通过fork函数享有这个变量所在的内存区。如果在子进程中unset了这个变量,子进程中就会释放该内存。但是对父进程是不会有影响的。exit子进程后,通过env还会看到先前定义的环境变量。在bash一个子进程,会发现又继承里父进程的环境变量。。是因为不是同一个子进程。通过echo $$可以看当前bash pid号。
就像一父亲生了两个儿子。都会继承了父亲的优良基因。大儿子却做了个小手术,导致不是儿子了。小儿子没动根
2016-06-21