linux用户变量设置(linux设置临时变量)
大家好,今天小编来为大家解答linux用户变量设置这个问题,linux设置临时变量很多人还不知道,现在让我们一起来看看吧!
linux环境变量怎么设置方法
Linux环境变量的设置和查看方法
Linux TCP/IP协议的使用和建立 Windows批处理切换IP地址使用方法
1.显示环境变量HOME
$ echo$HOME
/home/redbooks
2.设置一个新的环境变量hello
$ export HELLO="Hello!"
$ echo$HELLO
Hello!
3.使用env命令显示所有的环境变量
$ env
HOSTNAME=redbooks.safe.org
PVM_RSH=/usr/bin/rsh
Shell=/bin/bash
TERM=xterm
HISTSIZE=1000
...
4.使用set命令显示所有本地定义的Shell变量
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...
5.使用unset命令来清除环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:
$ export TEST="Test..."#增加一个环境变量TEST
$ env|grep TEST#此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
$ unset$TEST#删除环境变量TEST
$ env|grep TEST#此命令没有输出,证明环境变量TEST已经存在了
6.使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:
$ export TEST="Test..."#增加一个环境变量TEST
$ readonly TEST#将环境变量TEST设为只读
$ unset TEST#会发现此变量不能被删除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New"#会发现此也变量不能被修改
-bash: TEST: readonly variable
环境变量的设置位于/etc/profile文件
如果需要增加新的环境变量可以添加下属行
export path=$path:/path1:/path2:/pahtN
-----------------------------------------------------------------------------------------------------------------------
1.Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
1.1永久的:需要修改配置文件,变量永久生效。
1.2临时的:使用export命令声明即可,变量在关闭shell时失效。
2.设置变量的三种方法
2.1在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi/etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source/etc/profile不然只能在下次重进此用户时生效。
2.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不然只能在下次重进此用户时生效。
2.3直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
3.环境变量的查看
3.1使用echo命令查看单个环境变量。例如:
echo$PATH
3.2使用env查看所有环境变量。例如:
env
3.3使用set查看所有本地定义的环境变量。
unset可以删除指定的环境变量。
4.常用的环境变量
PATH决定了shell将到哪些目录中寻找命令或程序
HOME当前用户主目录
HISTSIZE历史记录数
LOGNAME当前用户的登录名
HOSTNAME指主机的名称
SHELL当前用户Shell类型
LANGUGE语言相关的环境变量,多语言可以修改此环境变量
MAIL当前用户的邮件存放目录
PS1基本提示符,对于root用户是#,对于普通用户是$
linux中对所有用户的变量设置,应当放在哪个文件下
1、首先在linux中查看系统环境变量,可以使用 env列出所有系统环境变量。
2、此外还可以使用printenv打印列出系统变量,如下图所示。
3、系统环境变量的配置文件,可以查看/etc/profile文件里面记录,如下图所示。
4、linux支持多用户,每个用户都有一个环境变量设置,/etc/bashrc文件,如下图所示。
5、最后查看当前变量,如查看PATH echo$PATH列出当前的PATH环境参数,如下图所示就完成了。
怎么设置Linux的环境变量
Linux系统下最重要的10个环境变量:
变量名称作用
HOME用户的主目录(即家目录)。
SHELL用户在使用的SHELL解释器名称。
HISTSIZE历史命令记录条数。
HISTFILESIZE历史命令记录条数。
MAIL邮件信箱文件保存路径。
LANG系统语言、语系名称。
RANDOM生成一个随机数字。
PS1bash解释器的提示符。
PATH定义解释器搜索用户执行命令的路径。
EDITOR用户默认的文本编辑器。
Linux系统为了能够为每个用户提供独立的、合适的工作运行环境,因此在不同的用户身份下提取一个相同的变量也可能会获得不同的值,例如查看下HOME变量在不同用户身份下的值都有那些吧(su是用于切换用户身份的命令,将在第5章跟大家见面~):
[root@linuxprobe~]# echo$HOME
/root
[root@linuxprobe~]# su- linuxprobe
Last login: Fri Feb 27 19:49:57 CST 2017 on pts/0
[linuxprobe@linuxprobe~]$ echo$HOME
/home/linuxprobe
其实变量是由固定的变量名与用户或系统设置的变量值两部分组成的,如果工作需要完全可以自己手工创建的,例如设置一个名称为WORKDIR的变量,方便用户更轻松的进入一个很深层的目录:
[root@linuxprobe~]# mkdir/home/workdir
[root@linuxprobe~]# WORKDIR=/home/workdir
[root@linuxprobe~]# cd$WORKDIR
[root@linuxprobe workdir]# pwd
/home/workdir
但是这样的变量不具有全局性,作用范围也是有限的,默认不能够被其他用户使用的,如果工作需要的话咱们可以使用export命令将其提升为全局变量,这样其他的用户也就可以使用到这个变量了,这里涉及的一些基础命令可以参阅《Linux就该这么学》
[root@linuxprobe workdir]# su linuxprobe
Last login: Fri Mar 20 20:52:10 CST 2017 on pts/0
[linuxprobe@linuxprobe~]$ cd$WORKDIR
[linuxprobe@linuxprobe~]$ echo$WORKDIR
[linuxprobe@linuxprobe~]$ exit
[root@linuxprobe~]#exportWORKDIR
[root@linuxprobe workdir]# 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