如题,关于shell环境和变量生存期,有以下结论:
1、执行脚本时,脚本中的语句是在一个子shell环境中运行的,脚本执行完后该子shell自动退出;2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);3、一个 shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中);3、不用 export定义的变量只对该shell有效,对子shell也是无效的。4、用source执行一个脚本,相当于在当前Shell环境下执行该脚本中的语句,并没有父子的关系。但是能否使用source这个命令,跟脚本中定义使用的脚本解析器有关,根据本人尝试的结果,如果使用sh而不是bash作为脚本执行的解析器,会出现“source: not found”的错误提示注:该命令通常用命令“.”来替代。
如:source .bash_rc 与 . .bash_rc 是等效的。