目录
HOME
SHELL
PWD
如何获取环境变量(getenv)
我们今天继续来见一见更多的环境变量。
HOME
HOME就是家目录的意思,今天作为环境变量意思是当前用户所对应的家目录。
我们可以看到不同用户的家目录是不一样的,所以HOME所对应的内容就不一样,当我们登入的时候,bash(shell)通过读取环境变量的配置文件解析PAYH,HOME这种环境变量,bash本身也是一个进程,已有对应的工作目录cwd,所有的进程都是bash的子进程都会继承当前bash的当前的工作路径的,所以进程获取环境变量的方式靠的就是继承。
SHELL
SHELL环境变量指定了当前会话使用的 shell 程序,在Linux之下就是bash。
PWD
PWD环境变量指定了当前进程所在的工作路径。
如何获取环境变量(getenv)
除了之前的echo可以获取环境变量,使用函数getenv()也可以获取环境变量。
以上代码可以获取环境变量PWD。
然后我们打开env
可以看到有个叫USER的环境变量可以自动识别用户的身份,所以我们今天可以使用getenv写一个程序来让我的程序自动识别用户的身份,或者只让某一个用户访问,如下。
我们通过普通用户和超级用户root直接来回切换来运行这个代码,可得结果不一,今天我用普通用户yulin来运行,程序让我运行了,另一个root也想来凑热闹结果无权访问。
我们最后再进入env,发现最下面多了一个OLDPWD,这个环境变量指定了最近一次切换的路径,我最开始由于没有切换直接接入yulin然后运行env所以没有显示,接着cd ..到家目录就显示最近一次切换到了家目录了。
上面了UTF-8这些就是指定支持格式的一些环境变量,也了解一下吧。
好了本次环境变量的认识就算完了。