什么是环境变量,Linux环境变量及作用 echo
什么是环境变量,Linux环境变量及作用
值得一提的是,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 所示。
| 环境变量名称 | 作用 |
|---|---|
| HOME | 用户的主目录(也称家目录) |
| SHELL | 用户使用的 Shell 解释器名称 |
| PATH | 定义命令行解释器搜索用户执行命令的路径 |
| EDITOR | 用户默认的文本解释器 |
| RANDOM | 生成一个随机数字 |
| LANG | 系统语言、语系名称 |
| HISTSIZE | 输出的历史命令记录条数 |
| HISTFILESIZE | 保存的历史命令记录条数 |
| PS1 | Bash解释器的提示符 |
| 邮件保存路径 |
Linux 作为一个多用户多任务的操作系统,能够为每个用户提供独立的、合适的工作运行环境,因此,一个相同的环境变量会因为用户身份的不同而具有不同的值。
例如,使用下述命令来查看 HOME 变量在不同用户身份下都有哪些值:
[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# su - user1 <--切换到 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,发现无法使用 WORKDIR 自定义变量
[user1@localhost ~]$ cd $WORKDIR
[user1@localhost ~]$ echo $WORKDIR
[user1@localhost ~]$ exit <--退出user1身份
[root@localhost work1]# export WORKDIR
[root@localhost work1]# su user1
[user1@localhost ~]$ cd $WORKDIR
[user1@localhost work1]$ pwd
/home/work1
什么是环境变量,Linux环境变量及作用 echo的更多相关文章
- ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge
ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge Arduino环境与Linux环境的桥梁——Bridge 在第一章中介绍Arduino Yun硬件的时候提到过,它上面有 ...
- Windows环境和Linux环境下Redis主从复制配置
Windows环境下和Linux环境下配置Redis主从复制基本上一样,都是更改配置文件.Windows环境下修改的配置文件是:redis.windows.conf.redis.windows-ser ...
- Java环境变量-Linux环境
环境变量说明 JAVA_HOME 它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk. PATH 作用是指定命令搜 ...
- 【linux环境】Linux环境 php连接oracle11g数据库(相关插件已备份至U盘)
1.环境:centos6 . LNMP(linux环境都可以,跟服务器没啥大关系) 2.前期准备:弄清楚 项目php的运行目录,php.ini的配置目录,php-config的运行目录 3.安装先知: ...
- windows 环境和linux环境下 ping命令的区别:
Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可 ...
- 【onethink搬家】win环境移植linux环境,注意事项
onethink 搬家注意事项: 修改目录/文件归属和权限,Runtime目录要有可写权限. 若数据库有变动,则需要更改数据库连接参数.在Application/Common/Conf/config. ...
- JMeter生成性能报表-Windows环境和Linux环境
转载自https://www.cnblogs.com/imyalost/p/10239317.html
- Linux环境下Hadoop集群搭建
Linux环境下Hadoop集群搭建 前言: 最近来到了武汉大学,在这里开始了我的研究生生涯.昨天通过学长们的耐心培训,了解了Hadoop,Hdfs,Hive,Hbase,MangoDB等等相关的知识 ...
- Linux环境搭建-在虚拟机中安装Centos7.0
最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...
- linux环境基于python语言docx转pdf
windows平台因借助win32com具有多种方法将word转为pdf,但linux环境不具备此环境,win32com包也将import失败,那该如何做呢? # -*- coding: utf-8 ...
随机推荐
- k8s:py项目发布完整流程
k8s:py项目发布流程 1. 编写Dockerfile # cat Dockerfile FROM python:3.6-slim USER root RUN apt-get update & ...
- C++并发与多线程学习笔记--线程之间调度
condition_variable wait() notify_one notify_all condition_variable 条件变量的实际用途: 比如有两个线程A和B,在线程A中等待一个条件 ...
- C++并发与多线程学习笔记--基本概念和实现
基本概念 并发 可执行程序.进程.线程 学习心得 并发的实现方法 多进程并发 多线程并发 总结 C++标准库 基本概念 (并发.进程.线程)区分C++初级编程和中高级编程 并发 两个或者更多的任务同时 ...
- 生产环境中mysql数据库由主从关系切换为主主关系
目录 一.清除原从数据库数据及主从关系 1.1.关闭主从数据库原有的主从关系 1.2.清除从数据库原有数据 二.将主库上的数据备份到从库 2.1.备份主库数据到从库 2.2.在从库使用tsc.sql文 ...
- PBRT阅读笔记——COLOR AND RADIOMETRY
四个关键概念 Energy(Q) 每一个光子都有特定的波长并携带特定的能量: 其中c为光速,h为普朗克常量. Flux(Φ) 辐射通量,可以直观理解为功率.是能量对时间微分得到的 ...
- Linux 用户和用户组管理(useradd userdel groupadd groupdel)
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. Linux系统用户账户的 ...
- Java后端进阶-网络编程(Netty责任链Pipeline)
设计模式-责任链模式 一个责任链模拟demo package com.study.hc.net.netty.demo; // -----链表形式调用------netty就是类似的这种形式 publi ...
- 【spring cloud hoxton】Ribbon 真的能被 spring-cloud-loadbalancer 替代吗
背景 早上刷圈看到 Spring Cloud Hoxton.M2 Released 的消息,随手发布到了我的知识星球,过了会有个朋友过来如下问题. 抽取半天时间学习spring-cloud-loadb ...
- CppCon 2019 | Back to Basics: RAII and The Rule of Zero
本文整理了Arthur O'Dwyer在CppCon 2019上关于RAII的演讲,演讲的slides可以在此链接进行下载. 在C++程序中,我们往往需要管理各种各样的资源.资源通常包括以下几种: A ...
- JMeter 结果处理常见问题
1. 前言 2. 结果处理常见问题 1)在察看结果树中只看失败情况 2)如何把日志放入文件查看 3)cvs 文件中文读取乱码 4)失败请求数据的采集 5)结果树响应数据中文乱码解决办法 1. 前言 工 ...