php 环境变量有什么用,什么是环境变量,Linux环境变量及作用

变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME)、邮件存放位置(MAIL)等。

值得一提的是,Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。

我们可以使用 env 命令来查看到 Linux 系统中所有的环境变量,执行命令如下:

[root@localhost ~]# env

ORBIT_SOCKETDIR=/tmp/orbit-root

HOSTNAME=livecd.centos

GIO_LAUNCHED_DESKTOP_FILE_PID=2065

TERM=xterm

SHELL=/bin/bash

......

Linux 系统能够正常运行并且为用户提供服务,需要数百个环境变量来协同工作,但是,我们没有必要逐一学习每个变量,这里给大家列举了 10 个非常重要的环境变量,如表 1 所示。

表 1 Linux系统中重要的10个环境变量

环境变量名称

作用

HOME

用户的主目录(也称家目录)

SHELL

用户使用的 Shell 解释器名称

PATH

定义命令行解释器搜索用户执行命令的路径

EDITOR

用户默认的文本解释器

RANDOM

生成一个随机数字

LANG

系统语言、语系名称

HISTSIZE

输出的历史命令记录条数

HISTFILESIZE

保存的历史命令记录条数

PS1

Bash解释器的提示符

MAIL

邮件保存路径

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

例如,使用下述命令来查看 HOME 变量在不同用户身份下都有哪些值:

[root@localhost ~]# echo $HOME

/root

[root@localhost ~]# su - user1 

[user1@localhost ~]$ echo $HOME

/home/user1

这里的 su 命令可以临时切换用户身份,此命令的具体用法会在后续章节做详细介绍。

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

[root@localhost ~]# mkdir /home/work1

[root@localhost ~]# WORKDIR=/home/work1

[root@localhost ~]# cd $WORKDIR

[root@localhost work1]# pwd

/home/work1

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

[root@localhost work1]# su user1 

[user1@localhost ~]$ cd $WORKDIR

[user1@localhost ~]$ echo $WORKDIR

[user1@localhost ~]$ exit

[root@localhost work1]# export WORKDIR

[root@localhost work1]# su user1

[user1@localhost ~]$ cd $WORKDIR

[user1@localhost work1]$ pwd

/home/work1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web Api 转

GET:生到数据列表(默认),或者得到一条实体数据 POST:添加服务端添加一条记录,记录实体为Form对象 PUT:添加或修改服务端的一条记录,记录实体的Form对象,记录主键以GET方式…

matlab 刻度非均匀控制,MATLAB 出一张好看的图

1、坐标轴的视点(viewpoint):从哪个方向看整个坐标系统,这决定了坐标轴的方向和位置,通过view函数实现视点的设置;view([z y ]):(将坐标系统想象为一座房子,而自己是个会飞的天使,最初你在房子的…

weak_ptr打破环状引用

转自:http://blog.csdn.net/malong777/article/details/48974559 weak_ptr是一种不控制对象生存周期的智能指针,它指向一个shared_ptr管理的对象...它不会改变shared_ptr的引用计数——《C Primer .5th》。很明显,weak_ptr的特点是“弱引用”…

百度链接提交php获取状态码,新网站,在百度提交了首页链接,但是一直没有收录,也没有爬虫抓取,怎么回事呢?(悬赏1元) - 搜外SEO问答...

新站前期需要做哪些操作:1、上线前保证网站的内容已经有一定的丰富性,可供爬虫已经有20的主关键词相关的界面或文章,50为最佳。2、新站的标题不要堆彻关键词,以主关键词主关键词描述语句品牌词 这个类型的标题为最佳。3、标题中出…

使用 git-cherry-pick 迁移提交

参考 git-cherry-pick 后续补上

前端js模糊搜索(模糊查询)

1.html结构&#xff1a; <label for"searchShop" class"clear pos-a" style"top:17px;"> <input type"text" id"searchShop" placeholder"场所搜索"> <input type"but…

php代码审计思路,代码审计思路讨论

原标题&#xff1a;代码审计思路讨论前言首先感谢手电筒的建议&#xff0c;建议我从Bluecms来开始学习代码审计。感谢桑桑格&#xff0c;风哥的问题解答。文章主要是写下我自己在代码审计的时候所思所想。当然并不是太过严谨&#xff0c;也有可能存在错误。这里主要是写出了审计…

LinkedHashSet

特点: 有序 , 唯一 底层的数据结构为: 链表和哈希表 , 链表保证有序 , 哈希表保证唯一 import java.util.LinkedHashSet; public class Demo2_LinkedHashSet {/*** param args* LinkedHashSet* 底层是链表实现的,是set集合中唯一一个能保证怎么存就怎么取的集合对象* 因为是Has…

oracle如何自定义类型,Oracle 自定义类型

一、子类型这种类型最简单&#xff0c;类似类型的一个别名&#xff0c;主要是为了对常用的一些类型简单化&#xff0c;它基于原始的某个类型。如&#xff1a;有些应用会经常用到一些货币类型&#xff1a;number(16,2)。如果在全局范围各自定义这种类型&#xff0c;一旦需要修改…

Dubbo源码分析:ThreadPool

定义了通过URL对象作为参数获取Executor对象的get&#xff25;xecutor方法。所有实现ThreadPool接口的类都是基于ThreadPoolExecuotr对象来实现的。 类图 转载于:https://www.cnblogs.com/wspgbw/p/6409933.html

oracle查询并列,【问】oracle-查询各门课程的前2名和后2名

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼成绩表&#xff1a;studentscorecreate table studentScore(id int primary key not null,course varchar2(20),score int,studentname varchar2(20))数据&#xff1a;id course score studentname1 语文 100 张三2 语文 98 李四3 …

MySQL存储过程及触发器

一、存储过程 存储过程的基本格式如下&#xff1a; -- 声明结束符 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名称(参数列表) BEGIN-- 可以写多个sql语句; -- sql语句流程控制SELECT * FROM employee; END $ -- 结…

asp连接oracle6,asp下用OracleInProcServer完成对Oracle的连接和操作-ASP教程,数据库相关...

< % response.charset"gb2312"tblnamerequest("tb")dim objorasession,objoradbdim strdbuser,strdbpwd,strdbconncall connectdb()sub connectdb() 连接数据库on error resume nextstrdbuser "liujincai" 连接用户名strdbpwd "ljc100…

destoon 短信发送函数及短信接口修改

// $DT在common.inc.php中定义&#xff0c; $CACHE cache_read(module.php); $DT $CACHE[dt]; 从缓存里读取网站配置信息。 //$db 数据库类&#xff0c;$DT 全局配置&#xff0c;$DT[sms] 开启手机短信&#xff0c;$DT_TIME系统时间&#xff0c;$DT_IP 当前ip地址&#xff0…

linux系统电源时钟,linux电源管理的一些梳理

由于项目产品需要过能源之星3.0&#xff0c;所以最近做了一些电源管理低功耗方面的工作&#xff0c;抽个时间正好梳理一下。其实Linux 电源管理非常复杂&#xff0c;牵扯到很多方面&#xff0c;比如系统级的待机、频率电压变换、系统空闲时的处理以及每个设备驱动对于系统待机的…

linux命令行 基础,Linux命令行基础,关于Bash需要知道的一些常识

介绍Linux越来越重要&#xff0c;对于开发者来说学习必要的bash技术必不可少&#xff0c;对运维来说更是如此。学习shell可以参考很多学习材料和图书&#xff0c;比如ChinaUnix论坛网中人大哥总结的《Shell十三问》的帖子&#xff0c;《ABS 指导》(《Advanced Bash-Scripting G…

linux 删除单个创建文件夹,Linux 删除文件夹和创建文件的命令

VS中批注的使用SAL 是 Microsoft 源代码注释语言. 使用源代码批注,可以使代码背后的意图更加清晰. 这些注释还可以使用自动化的静态分析工具更准确地分析代码,显著减少误判.那么什么是批注,举个简单的例子, ...MVVM架构~knockoutjs系列之数组的&dollar;index和&dollar;…

安卓界面组件-文本框

前面三篇文章本质上是围绕着View类进行的。View是安卓UI的基础类&#xff0c;我们的安卓开发“千里之行”是从View开始的。 安卓界面UI有大量的组件&#xff0c;组件的继承和间接继承于View。有一类组件很基本&#xff0c;这就是TextView文本框&#xff0c;作用是显示文本。在T…

linux centos7重启路由命令行,centos7 永久添加静态路由

查看路由表ip route show|column -troute -n永久添加路由vim /etc/sysconfig/network-scripts/route-ens224./ via ../ via重启网络生效systemctl restart networkCentos6C、# vi /etc/sysconfig/static-routes (没有static-routes的话就手动建立一个这样的文件&#xff0c;推荐…

linux内核端口绑定,linux 多网卡bonding 绑定 端口聚合

将多个Linux网络端口绑定为一个&#xff0c;可以提升网络的性能&#xff0c;比如对于备份服务器&#xff0c;需要在一个晚上备份几个T的数据&#xff0c;如果使用单个的千兆网口将会是很严重的瓶颈。其它的应用&#xff0c;比如ftp服务器&#xff0c;高负载的下载网站, 都有类似…