- printenv 列表出环境变量。
- set 设置shell选项
- export 导出环境变量
- alias 设置命令的别名。
- set 可以显示环境变量和shell变量
- printenv只能显示环境变量。
- printenv 还可以显示具体的命令
printenv USER
thomashuke
- set显示很多东西例如环境变量,shell变量,shell定义的函数,并且set默认显示的内容按照首字母的顺序进行排序。
- 也可以使用
echo $USER
这意义就不一样了,因为echo是输出流,使用$+具体的环境变量就不属于查询,算是直接输出了,之所以使用$是因为$代表了变量,也就是归于函数变量这个部分了
如果一个值不能使用printenv搞出来,也不能用set搞出来,那么它就是一个别名,这时候
alias
就可以将所有的别名给显示出来,这样我们就了解了这个变量的实质了。
变量 | 内容 |
---|---|
DISPLAY 如果你正在运行图形界面环境,那么这个变量就是你显示器的名字。通常,它是 ":0", 意思是由 X 产生的第一个显示器。 | |
EDITOR | 文本编辑器的名字。 |
SHELL | shell 程序的名字。 |
HOME | 用户家目录。 |
LANG | 定义了字符集以及语言编码方式。 |
OLD_PWD | 先前的工作目录。 |
PAGER | 页输出程序的名字。这经常设置为/usr/bin/less。 |
PATH | 由冒号分开的目录列表,当你输入可执行程序名后,会搜索这个目录列表。 |
PS1 | Prompt String 1. 这个定义了你的 shell 提示符的内容。随后我们可以看到,这个变量 内容可以全面地定制。 |
PWD | 当前工作目录。 |
TERM | 终端类型名。类 Unix 的系统支持许多终端协议;这个变量设置你的终端仿真器所用的协议。 |
TZ | 指定你所在的时区。大多数类 Unix 的系统按照协调时间时 (UTC) 来维护计算机内部的时钟 ,然后应用一个由这个变量指定的偏差来显示本地时间。 |
USER | 你的用户名 |
这些常见的环境变量我们都可以通过printenv来输出的。
/etc/profile
中获取应用于全局的配置文件,然后从每个用户的home目录中取得各自的配置文件。不过我在Mac中没有找到这个home配置文件。是什么问题呢?
所有的文本编辑器都可以通过终端输入名字直接打开的。
-
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值
-
set可以输出shell变量和环境变量。shell变量跟用户无关,哪个用户都是这个shell变量,但是环境变量是跟用户有关的,shell变量跟用哪个版本的shell是有关系的
-
printenv(又叫 env)显示当前用户的环境变量