Linux学习之环境变量

转自: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的时候初始化

好了环境变量就先学习到这吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,131评论 2 34
  • 说明,本文所使用的机器是:SUSE Linux Enterprise。 问题定位 这看起来像是环境变量引起的问题,...
    lework阅读 2,909评论 6 11
  • 1、bash 与 shell 管理整个计算机硬件的其实是操作系统的内核(Kernel),这个内核是需要被保护的,所...
    Zhang21阅读 845评论 0 2
  • 第一节 Shell概述 1.Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送...
    littlexjing阅读 1,895评论 0 1
  • 这个城市举目无亲,整天都没有一个可以说话的人。悲伤一旦袭来,只能失声痛哭,哭到累了倦了也就睡了。 梦里忘了经历了什...
    苏潇潇阅读 183评论 2 0