转自:Linux学习之环境变量
在linux中环境变量是一个重要的概念,环境变量可以由系统、用户、shell、以及其他程序设定。变量就是一个可以被赋值的字符串,可以被赋值为数字、文本、文件名、设备及其他类型的数据。
下面我们演示一个变量的赋值,然后使用echo输出变量值:
<pre>
[root@localhost test]# TEST="this is a test"
[root@localhost test]# echo $TEST
this is a test
</pre>
这种变量在关闭shell后就会消失,如果要配置永久的环境变量,可以在<code>/etc/prefile</code>这种配置。但这与你使用的shell解释器有关。
<code>$which $SHELL</code>可以查看你使用的是那个shell解释器,通常都是bash。$man bash可以查看bash涉及到的环境配置文件,在你的主目录下,通常使用<code>~/.bashrc</code>文件就够了,你也可以使用
- ~/.bash_logout
- ~/.bash_login
- ~/.bash_profile
文件进行设置环境变量。
登陆linux系统后,shell会读取<code>/etc/profile</code>文件和<code>./profile</code>文件初始化环境变量,过程如下:
- Shell首先检查 /etc/profile 文件是否存在,如果存在,就读取内容,否则就跳过,但是不会报错。
- 然后检查你的主目录(登录目录)中是否存在 .profile 文件,如果存在,就读取内容,否则就跳过,也不会报错。
设置终端类型
一般情况下终端是由login或getty设置的,对终端使用还不是很熟练的同学,可能不习惯这种输出输入方式,交互起来比较吃力。所以,一般用户会将终端设置成下面的类型:
<pre>[root@localhost ~]# TERM=vt100
[root@localhost ~]#</pre>
vt100 是 virtual terminate 100 的缩写。虚拟终端是一种假的终端,真正有自己的显示器和键盘的终端,会通过特殊电缆(如串口)连到计算机主机。vt100 是被绝大多数Linux系统所支持的一种虚拟终端规范,常用的还有ansi、xterm等。
设置PATH变量
我们在执行一个命令时,shell会根据PATH变量来查找该命令对应的程序,PATH给出了程序所在的路径。一般情况下PATH变量设置如下:
<pre>
[root@localhost ~]# PATH=/bin:/usr/bin
[root@localhost ~]# echo $PATH
/bin:/usr/bin
</pre>
如果输入的命令没有对应的程序就会报错:
<pre>
[root@localhost ~]# haha
-bash: haha: command not found
[root@localhost ~]#
</pre>
PS1和PS2变量
PS1变量记录的是命令的提示符,可以随意修改,PS1的值修改后提示符会立即改变:
<pre>
[root@localhost ~]# PS1='[haha==>]'
[haha==>]
</pre>
可以讲命令提示符设置为当前路径:
<pre>
[haha==>]PS1="[\u@\h \w]$"
[root@localhost ~]$cd /usr/local
[root@localhost /usr/local]$
</pre>
命令提示符包含了,用户名、主机名、路径等信息。
下面转移字符可以用作PS1的值:
转移字符 | 含义 |
---|---|
\t | 标准时间格式 HH:MM:SS |
\d | 当前日期,格式 Weekday Month Date |
\n | 换行 |
\W | 当前路径 |
\w | 完成路径 |
\u | 当前用户名 |
\h | 当前主机名(ip) |
# | 输入的命令的个数,每输入一个新的命令就会加1 |
$ | 超级用户为#,否者为$ |
如果用户输入的命令不完整,shell会使用第二种命令提示符PS2等待用户输入完整命令,PS2默认为>,也可以随意修改:
[root@localhost /usr/local]$echo 'you are beautiful
> '
you are beautiful
[root@localhost /usr/local]$
设置PS2的值
[root@localhost /usr/local]$PS2="good mood every day>"
[root@localhost /usr/local]$echo 'you are beautiful
good mood every day>'
you are beautiful
[root@localhost /usr/local]$
常用的环境变量
下面列出部分环境变量,可以通过上面提到的方式修改:
变量 | 描述 |
---|---|
DISPLAY | 用来设置将图形显示到何处 |
HOME | 当前用户的主目录 |
IFS | 内部域分割符 |
LANG | LANG可以让系统支持多语言。例如,将LANG设为pt_BR,则可以支持(巴西)葡萄牙语。 |
PATH | 指定shell命令的路径 |
PWD | 显示当前路径 |
RANDOM | 生成一个介于0和32767 之间的随机数。 |
TREM | 设置终端类型 |
TZ | 时区,可以AST(大西洋标准时间)是GMT(格林威治标准时间) |
UID | 以数字的形式显示当前用户的id,启动shell的时候初始化 |
好了环境变量就先学习到这吧!