解析一个Unix操作系统环境变量
创始人
2024-06-28 17:00:35
0

Unix操作系统中,环境变量可以作用于用户的整个工作环境。同时相关的应用程序也需要利用这些环境变量来获取进程运行的环境变量。今天,我们就来学习下Unix操作系统提示符的作用。

Unix操作系统提示符的作用

DOS下的提示符是比较直观的。先是盘符,然后是当前的绝对路径,然后以>符号结尾。但是在Unix系统中却不是如此。在Unix系统下,其路径不是决定路径,而只是显示当前目录的名称。这就给平时的维护造成了一定的困难。那么在Unix系统下能否按DOS下的提示符格式来显示呢?即显示当前的绝对路径。要实现这个功能,就需要从Unix的提示符说起了。

提示符信息也是Unix操作系统中的环境变量。在shell环境中有两个提示符,分别为PS1与PS2。其中PS1为主提示字符串,即大家平常所看到的那个提示符(可能是一个美元符号$或者一个#字号)。通常情况下,如果当前用户是特权用户,则其主提示符可能为#;如果当前用户为普通用户,则其主提示符就为$符号。另外在shell进程中,还可以运行多条命令。此时系统会显示>提示符,这个提示符就是次级提示符,保存在PS2环境变量中。那么如何通过这个提示符来实现如上的需求呢?且听笔者慢慢道来。

1、首先需要显示的就是不管是主提示符还是次级提示符,都以>结束。此时系统工程师可以通过改变主提示符的值来实现。如可以通过$PS1=”>”命令来实现。这个命令的作用就是改变这个环境变量的值。另外有些人可能还喜欢在前面加入c:盘符,此时就可以把主提示符PS1的值设置为”c:>”。不过需要注意的是,Unix的文件系统跟微软的文件系统不一样。在Unix操作系统中,其只有一个跟目录,即一个树状结构;而在Windows操作系统中,每个分区都有一个根目录,都有一个独立的树状结构。故在Unix操作系统中没有C、D、E盘的区分。

2、其次是要实现在提示符中显示绝对路径。此时需要PWD环境变量的帮助。在Linux系统中,pwd命令可以用来显示当前的绝对路径。不过在Unix操作系统中的BASH中(shell的一种),专门提供了一个PWD环境变量。这个环境变量主要用来存储当前光标所在的绝对路径。PWD是一个动态的环境变量。当用户每次切换目录时,这个环境变量都将被重新赋值。如果要在提示符中显示当前的绝对路径,那么只需要把这个变量赋于给主提示符PS1即可。由于PWD变量动态改变的特性,此时主提示符也会随着PWD环境变量(绝对路径)的改变而改变。具体的赋值命令为:$PS1=’ $PWD’。

这里笔者要强调一个小细节。当把一个环境变量赋值给另外一个环境变量时,则需要加入$符号。否则的话,Unix操作系统会把这个变量当作一个普通的字符串来对待。笔者在给学员进行培训时,这是他们经常犯的错误。这注意是因为他们可能受到以前经验的影响。因为在一些开发环境中编程的时候,在把某个变量的值赋值给其他变量时,不需要在变量前加入$等类似的特殊符号。但是这里需要注意,在Unix操作系统中如果把某个环境变量的值赋值给另外一个环境变量,必须要用$符号来标示,否则的话系统会

提示符除了可以模拟实现DOS提示符显示格式之外,还有其他一些重要的作用。如大部分系统工程师在管理Unix服务器的时候,不会直接通过Unix终端控制台来进行。而是利用ssh等远程连接协议进行远程登陆,进行远程维护。

如果企业中Unix服务器比较多的话,系统工程师就可能会比较麻烦。因为在默认情况下,利用ssh协议远程登陆到Unix操作系统,在终端上不会显示Unix主机的名字。为此如果系统工程师在同一时刻连接了多台Unix服务器的话,则其就不能够一目了然的知道到底是哪台Unix服务器。在这种情况下,系统工程师就希望在提示符中能够显示Unix主机的名字。在bash环境中,有一个转义字符可以实现类似的需求。

\h这个转义字符就是用来显示当前主机的名字。为此如果系统工程师需要提示符中显示主机的名字,则可以通过如下的命令来实现,$PS1=”\h”。如此设置后,在Unix操作系统提示符中就会显示当前主机的名字。这方面在Linux系统上就做的比较好,其默认情况下就会显示主机的名字。

在这里,我们就举出一个Unix操作系统环境变量在实际工作中对于用户的价值。其实在日常工作中,这些环境变量的价值往往被人所忽视。

【编辑推荐】

  1. 查看Unix操作系统内存占用
  2. 让DOS与Unix文件相互兼容
  3. Unix操作系统与Dos文件差异所在
  4. Unix操作系统管理客户端
  5. Unix操作系统多个主机的表示方法

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...