什么是环境:
我们所说的环境其实是shell环境,由于shell在shell会话中维护着大量的信息,所有这些信息就成为shell环境
存储在 shell 环境中的数据被程序用来确定配置属性。虽然大多数程序用配置文件(configuration file)来存储程序设置, 但是某些程序也会查找存储在 shell 环境中的变量来调整他们的行为。
环境中有哪些内容:
shell环境中存储有两种基本类型的数据:
1. 环境变量
2. shell变量: bash 存放的少量数据
3. 部分编程数据:别名和shell函数
检查环境变量的几种办法:
可以用 bash 的内部命令 set
,或者是 printenv
程序来查看什么存储在环境当中。
-
set
命令可以 显示shell 和环境变量两者 -
printenv
只是显示环境变量。 -
echo
查看某个变量内容。
因为环境变量内容列表相当长,所以最好 把每个命令的输出结果管道到 less 命令:
[me@linuxbox ~]$ printenv | less
将输出以下结果:
XDG_VTNR=7
LC_PAPER=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
XDG_SESSION_ID=c4
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/me
LC_MONETARY=zh_CN.UTF-8
CLUTTER_IM_MODULE=xim
GPG_AGENT_INFO=/home/me/.gnupg/S.gpg-agent:0:1
TERM=xterm-256color
VTE_VERSION=4205
SHELL=-G
ROS_ROOT=/opt/ros/kinetic/share/ros
HISTSIZE=1000
ROS_PACKAGE_PATH=/home/cyril/catkin_ws/src://home/me/catkin_ws/src:/opt/ros/kinetic/share
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
ROS_MASTER_URI=http://localhost:11311
WINDOWID=54525962
LC_NUMERIC=zh_CN.UTF-8
OLDPWD=/home/me
UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/15167
GNOME_KEYRING_CONTROL=
GTK_MODULES=gail:atk-bridge:unity-gtk-module
以上为环境变量和实际数值的列表,此外还可以直接利用printenv [变量名]
来直接列出其值:
[me@linuxbox ~]$ printenv USER
me
用不带选项和参数的set
命令时,显示shell 变量、环境变量、自定义的 shell 函数。(按字母顺序排列)
[me@linuxbox ~]$ set | less
也可以通过 echo 命令来查看一个变量的内容,像这样:
[me@linuxbox ~]$ echo $HOME
/home/me
以上命令都不能显示的一个环境元素是别名,要查看别名,使用不带参数的`alias`:
[me@linuxbox ~]$ alias
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
部分环境变量说明
shell 环境中包含相当多的变量,虽然你的 shell 环境可能不同于这里展示的,但是你可能会看到 以下变量在你的 shell 环境中:
![](https://img.haomeiwen.com/i14276672/d2da30cd206920a0.png)
网友评论