美文网首页
环境变量与全局变量

环境变量与全局变量

作者: zjh111 | 来源:发表于2018-07-10 12:32 被阅读0次

变量是计算机系统用于保存可变值的数据类型。在Linux系统中,变量名称一般都是大写的,这是一种约定俗成的规范。
简单来说,命令在Linux中的执行分为4个步骤。

第1步:判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话则直接执行。

第2步:Linux系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。可以用alias命令来创建一个属于自己的命令别名,格式为“alias 别名=命令”。若要取消一个命令别名,则是用unalias命令,格式为“unalias 别名”。我们之前在使用rm命令删除文件时,Linux系统都会要求我们再确认是否执行删除操作,其实这就是Linux系统为了防止用户误删除文件而特意设置的rm别名命令,接下来我们把它取消掉:

[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@linuxprobe ~]# rm anaconda-ks.cfg 
rm: remove regular file ‘anaconda-ks.cfg’? y
[root@linuxprobe~]# alias rm
alias rm='rm -i'
[root@linuxprobe ~]# unalias rm
[root@linuxprobe ~]# rm initial-setup-ks.cfg 
[root@linuxprobe ~]#

第3步:Bash解释器判断用户输入的是内部命令还是外部命令。内部命令是解释器内部的指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令交由步骤4继续处理。可以使用“type命令名称”来判断用户输入的命令是内部命令还是外部命令。

第4步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作PATH,可以简单地把它理解成是“解释器的小助手”,作用是告诉Bash解释器待执行的命令可能存放的位置,然后Bash解释器就会乖乖地在这些位置中逐个查找。PATH是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到Bash解释器对Linux命令的查找。

常用的环境变量

变量名称 作用
HOME 用户的主目录(即家目录)
SHELL 用户在使用的Shell解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器

Linux作为一个多用户多任务的操作系统,能够为每个用户提供独立的、合适的工作运行环境,因此,一个相同的变量会因为用户身份的不同而具有不同的值。例如,不同用户之间HOME的就不相同。

其实变量是由固定的变量名与用户或系统设置的变量值两部分组成的,我们完全可以自行创建变量,来满足工作需求。例如设置一个名称为WORKDIR的变量,方便用户更轻松地进入一个层次较深的目录:

[root@linuxprobe ~]# mkdir /home/workdir
[root@linuxprobe ~]# WORKDIR=/home/workdir
[root@linuxprobe ~]# cd $WORKDIR 
[root@linuxprobe workdir]# pwd
/home/workdir

但是,这样的变量不具有全局性,作用范围也有限,默认情况下不能被其他用户使用。如果工作需要,可以使用export命令将其提升为全局变量,这样其他用户也就可以使用它了:

[linuxprobe@linuxprobe ~]$ cd $WORKDIR
[linuxprobe@linuxprobe ~]$ echo $WORKDIR
[linuxprobe@linuxprobe ~]$ exit
[root@linuxprobe ~]# export WORKDIR
[root@linuxprobe ~]# su linuxprobe
Last login: Fri Mar 20 21:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ cd $WORKDIR
[linuxprobe@linuxprobe workdir]$ pwd
/home/workdir

相关文章

  • postman使用手册

    1、环境变量与全局变量 1)环境变量可以设置多组,但全局变量只能设置一组(Gloabs) 2)环境变量的优先级比全...

  • 环境变量

    环境变量用来存储工作环境信息的变量,主要分为系统全局变量和用户级全局变量 全局变量 常见的全局环境变量 : 使用全...

  • shell基础知识

    shell文件使用 变量 环境变量(全局变量)

  • apipost脚本使用二

    在apipost中通过预/后执行脚本设置全局变量或者环境变量。 全局变量或者环境变量设置完之后,可以使用获取全局变...

  • php乱七八糟的记录

    超级全局变量: $GLOBALS 所以全局变量数组 $_SERVER 服务器环境变量数组 $_GET 通过GET方...

  • 环境变量与全局变量

    变量是计算机系统用于保存可变值的数据类型。在Linux系统中,变量名称一般都是大写的,这是一种约定俗成的规范。简单...

  • shell中的几种变量的区别

    1、环境变量 2、临时变量 3、全局变量 env:来查询环境变量,环境变量能被当前进程和子进程调用,但...

  • makefile--变量的应用(下)

    变量的应用(下) 1. 环境变量(全局变量) makefile中能够直接使用环境变量的值定义了同名变量,环境变量将...

  • 关于一些POSTMAN的内容整理

    1.关于怎么设定全局变量答:Postman 允许定义自己的环境变量(Environment),如下操作打开环境变量...

  • Linux 环境变量

    环境变量一般都大写,便于区分。 在bash中我们可以用 env 命令列出已经定义的所有环境变量环境变量都是全局变量...

网友评论

      本文标题:环境变量与全局变量

      本文链接:https://www.haomeiwen.com/subject/bwsfpftx.html