Linux环境变量的设置和查看

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。

 一、Linux的变量种类

      按变量的生存周期来划分,Linux变量可分为两类:

      1、永久的:需要修改配置文件,变量永久生效。

      2、临时的:使用export命令声明即可,变量在关闭shell时失效。

 

二、设置变量的三种方法

1、在/etc/profile文件中添加变量【对所有用户生效(永久的)】

      用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

      例如:编辑/etc/profile文件,添加PATH变量

      # vi /etc/profile

       export  PATH=/home/fs : $PATH    

  注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

     

2、在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

      用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

      例如:编辑guok用户目录(/home/guok)下的.bash_profile

      $ vi /home/guok/.bash.profile

      添加如下内容:

      export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

      注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。

 

3、直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

      在shell的命令行下直接使用[export 变量名=变量值]

      定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

 

三、PATH声明,其格式为:

      PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>

      你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。

      如果想立刻生效,则可执行下面的语句:$source .bash_profile

      需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。

      完成后,可以通过$ echo $PATH查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。

 

四、常用的环境变量

  PATH      决定了shell将到哪些目录中寻找命令或程序

  HOME      当前用户主目录

  HISTSIZE 历史记录数

  LOGNAME   当前用户的登录名

  HOSTNAME 指主机的名称

  SHELL   当前用户Shell类型

  LANGUGE  语言相关的环境变量,多语言可以修改此环境变量

  MAIL   当前用户的邮件存放目录

  PS1   基本提示符,对于root用户是#,对于普通用户是$

 

五、常用的环境变量相关命令
1. 显示环境变量HOME
[cpp] view plaincopy
  1. fs@ubuntu:~$ echo $HOME  
  2. /home/fs  
  3. fs@ubuntu:~$   

2. 设置一个新的环境变量hello
[cpp] view plaincopy
  1. fs@ubuntu:~$ export HELLO="Hello"  
  2. fs@ubuntu:~$ echo $HELLO  
  3. Hello  
  4. fs@ubuntu:~$   

3. 使用env命令显示所有的环境变量

[cpp] view plaincopy
  1. fs@ubuntu:~$ env  
  2. SSH_AGENT_PID=2427  
  3. GPG_AGENT_INFO=/tmp/keyring-Sqfg93/gpg:0:1  
  4. TERM=xterm  
  5. SHELL=/bin/bash  
  6. XDG_SESSION_COOKIE=689f5a37acfced492491d99f00000008-1450313888.771442-154751925  
  7. HELLO=Hello  
  8. WINDOWID=62914565  
  9. OLDPWD=/home/fs/qiang/shell  
  10. GNOME_KEYRING_CONTROL=/tmp/keyring-Sqfg93  
  11. USER=fs  
  12. ....  


4. 使用set命令显示所有本地定义的Shell变量 

[cpp] view plaincopy
  1. fs@ubuntu:~$ set  
  2. BASH=/bin/bash  
  3. BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")  
  4. BASH_VERSION='2.05b.0(1)-release'  
  5. COLORS=/etc/DIR_COLORS.xterm  
  6. COLUMNS=80  
  7. DIRSTACK=()  
  8. DISPLAY=:0.0  
  9.   
  10. ...  

5. 使用unset命令来清除环境变量

set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

[cpp] view plaincopy
  1. fs@ubuntu:~$ export TEST="Test" \\增加一个环境变量TEST  
  2. fs@ubuntu:~$ env | grep TEST \\此命令有输出,证明环境变量TEST已存在  
  3. TEST=Test  
  4. fs@ubuntu:~$ unset $TEST \\删除环境变量TEST  
  5. fs@ubuntu:~$ env | grep TEST \\此命令没输出,证明环境变量TEST已经存在了  
  6.   
  7.      

6. 使用readonly命令设置只读变量

如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:

[cpp] view plaincopy
  1. fs@ubuntu:~$ export TEST="Test" \\增加一个环境变量TEST  
  2. fs@ubuntu:~$ readonly TEST \\将环境变量TEST设为只读  
  3. fs@ubuntu:~$ unset TEST \\此变量无法删除  
  4. bash: unset: TEST: cannot unset: readonly variable  
  5. fs@ubuntu:~$ TEST="NEW" \\此变量不可更改  
  6. bash: TEST: readonly variable  
  7. fs@ubuntu:~$   

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

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

相关文章

datastage 重启 续

在重启DS时&#xff0c;不少人肯定会说&#xff0c;一定要在重启之前确认没有人连接DS了。但有时会忘的。虽然说&#xff0c;等一些时间&#xff0c;系统可能会释放死进程&#xff0c;但也有可能&#xff0c;不会。而重启服务器&#xff0c;对于生产系统&#xff0c;可不是那么…

Python urllib、urllib2、urllib3

相关链接&#xff1a; 《Python urllib、urllib2、urllib3用法及区别》 《urllib2库.官方文档翻译》 《urllib3官方文档》 《urllib3的基本用法》 《详解 python3 urllib》

linux 目录/sys 解析

今天学习Linux目录时&#xff0c;遇到/sys这个目录&#xff0c;老师怎么讲的&#xff0c;不太清楚&#xff0c;先对/sys目录知识进行一个整理 首先&#xff0c;对 /sys目录下的各个子目录进行具体说明&#xff1a; /sys下的子目录 内容 /sys/devices 该目录下…

南下事业篇——深圳 深圳(回顾)

2019独角兽企业重金招聘Python工程师标准>>> 二0一二年三月二十三号记录了下面的一篇日志&#xff0c;现在回味一下觉得自己有点惭愧&#xff0c;但不后悔&#xff0c;知道的越多就越了解自己的无知&#xff0c;工作之后渐渐磨灭了许多锐气&#xff0c;变得平滑低调…

php中花括号的使用

一、界定变量名 注&#xff1a;花括号内若左侧出现空格&#xff0c;则会当做普通花括号来解析。 二、界定表达式 1.获取字符串中某个字符 如&#xff1a;$strabcdefg; echo $str{0};//a 效果等同于$str[0]; 2.作为表示下标的方法定义数组 如&#xff1a;$arr []; $arr{10}4;…

Linux目录/bin、/sbin、/usr/bin、/usr/sbin的区别

/bin、/sbin、/usr/bin、/usr/sbin目录的区别在linux下我们经常用到的四个应用程序的目录是/bin、/sbin、/usr/bin、/usr/sbin 。而四者存放的文件一般如下&#xff1a;/bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mk…

游戏开发--开源软件8--cyclone2D(手机引擎+设计工具)

2019独角兽企业重金招聘Python工程师标准>>> Cyclone2D (飓风软件)是集成的手机游戏设计工具以及开源的引擎&#xff0c;工具提供了强大的动画、地图、数值、脚本等设计功能&#xff0c;开源引擎提供了一体化的模块加载与管理&#xff0c;并提供了详细的API文档以及…

python编码

https://www.cnblogs.com/xiao-xue-di/p/11283496.html 《Python中的Unicode编码和UTF-8编码》 《字符串和编码》 《python编码转换(unicode / utf8 / gbk / 内部编码)》 字符编码 最早127个字母被编码到计算机里&#xff0c;也就是大小写英文字母、数字和一些符号&#xff0…

Vipe框架构思记

准备着手写一个JAVA框架&#xff0c;基于公司目前的框架提取出来。当然公司现在的框架也是我搭建的。在这整理一下思路。 框架名称:Vipe AOP,IOC容器&#xff1a;Spring MVC:Spring MVC ORM:Mybatis RPC:Dubbo 优点&#xff1a; 1.前后端分享&#xff0c;前端与后端通过dubbo通…

Linux中vi显示中文乱码的问题

linux 下编程&#xff0c;用到的编程工具是VI&#xff0c;编辑编译都方便&#xff0c;但经常出现中文乱码问题&#xff0c;下面可完美解决这个问题 由于在windows下默认是gb编码&#xff0c;而我的vim默认是utf-8&#xff08;gedit默认也是utf-8&#xff09;&#xff0c;所以打…

Python JSON

JSON函数 使用JSON函数需要导入json库&#xff1a;import json json.dump() 将序列化后的JSON字符串保存到文件 语法 json.dump(obj, fp, skipkeysFalse, ensure_asciiTrue, check_circularTrue, allow_nanTrue, clsNone, indentNone, separatorsNone, encoding"utf-…

WIFI vs 无线网

大家好多人都在使用无线设备上网&#xff0c;好多人对一些名词充满了好奇&#xff0c;比如WLAN和WIFI的区别是什么? WIFI无线上网和WLAN无线上网是什么意思? 这篇文章中我们为大家介绍什么是WIFI无线上网?大家可能会有这样的疑问&#xff0c;听说最多的应该是WLAN无线上网&a…

[转]jQuery Validate使用说明

本文转自&#xff1a;http://www.cnblogs.com/gimin/p/4757064.html jQuery Validate 导入 js 库 <script src"./jquery-validation/lib/jquery-1.8.3.js" type"text/javascript"></script> <script src"./jquery-validation/dist/jqu…

Linux 设备驱动开发 —— Tasklets 机制浅析

一 、Tasklets 机制基础知识点 1、Taklets 机制概念 Tasklets 机制是linux中断处理机制中的软中断延迟机制。通常用于减少中断处理的时间&#xff0c;将本应该是在中断服务程序中完成的任务转化成软中断完成。 为了最大程度的避免中断处理时间过长而导致中断丢失&#xff0c;有…

验证码(一)

需要验证码的地方还真不少&#xff0c;这主要是为了确保用户信息的安全。这里我做了一个纯字母的验证码。Random rnew Random ();string all "";private void btnCreatAuthCode_Click(object sender, EventArgs e){GetAuthCodes();}private void GetAuthCodes(){//定…

mysqld命令相关介绍

https://www.cnblogs.com/shymen/p/8850655.html mysqld命令相关介绍 mysqld --verbose --help 显示服务器选项和可配置变量一览 从配置文件[mysqld][server]组读取信息 -? //–help 查看简短帮助信息 –ansi //使用标准ANSI&#xff0c;SQL语法 -b //–basedir mysql安装…

字符串对象的各种方法

例&#xff1a; var str "hello world!"; var str1 "wo"; 1、 indexOf()方法&#xff1a;用于返回某个指定的字符串值在字符串中首次出现的位置。 alert(str.indexOf(str1)) // 6 2、charAt()方法&#xff1a;用于返回指定位置的字符。 alert(str.charA…

ios下使用rsa算法与php进行加解密通讯

首先了解一下几个相关概念&#xff0c;以方便后面遇到的问题的解决&#xff1a;RSA算法&#xff1a;1977年由Ron Rivest、Adi Shamirh和LenAdleman发明的&#xff0c;RSA就是取自他们三个人的名字。算法基于一个数论&#xff1a;将两个大素数相乘非常容易&#xff0c;但要对这个…

Linux 设备驱动开发 —— platform 设备驱动

一、platform总线、设备与驱动 在Linux 2.6 的设备驱动模型中&#xff0c;关心总线、设备和驱动3个实体&#xff0c;总线将设备和驱动绑定。在系统每注册一个设备的时候&#xff0c;会寻找与之匹配的驱动&#xff1b;相反的&#xff0c;在系统每注册一个驱动的时候&#xff0c;…

HTML5本地存储——IndexedDB(二:索引)

在HTML5本地存储——IndexedDB&#xff08;一&#xff1a;基本使用&#xff09;中介绍了关于IndexedDB的基本使用方法&#xff0c;很不过瘾&#xff0c;这篇我们来看看indexedDB的杀器——索引。 熟悉数据库的同学都知道索引的一个好处就是可以迅速定位数据&#xff0c;提高搜索…