使用getenv可以取出环境变量HOME的值
但是不能取出PS1的值(就是与命令提示符相关的变量),为什么??
另外,env和set命令有什么区别?
谢谢
PS1不是环境变量,是普通的shell变量。
因为PS1没有被export
env和set的区别就是env只显示环境变量,set显示shell变量
当你在shell中启动程序时,shell使用exec时只
将环境变量传给子进程,而不会将shell传给子进
程,所以子进程看不到shell变量,只能看到环境
变量。
参看exec系列函数的man page,尤其是传递环境
变量的2个。