linux里的shell环境变量
  TEZNKK3IfmPf 2023年11月14日 19 0

1.什么是环境变量?
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。这点有点类似于DOS时期的 默认路径,当你运行某些程序时除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。简单地说这里的“Path”就是一个变量,里面存储了一些常用命 令所存放的目录路径。

2.常见的环境变量。
PATH:系统路径.
HOME:当前用户家目录
HISTSIZE:保存历史命令记录的条数。
LOGNAME:当前用户登录名。
HOATNAME:主机名称,若应用程序要用到主机名的话,一般是从这个环境变量中的取得的.
SHELL:当前用户用的是哪种shell.
LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量.
MAIL:当前用户的邮件存放目录.

3.设置环境变量的方法。
etho:显示指定环境变量。
export:设置新的环境变量。
env:显示所有环境变量。
set:显示所有本地定义的shell变量。
unset:清除环境变量。

4.几个实例。

①. 显示环境变量HOME
$ echo $HOME
/home/leon
②设置一个新的环境变量hello
$ export HELLO="Hello!"
$ echo $HELLO
Hello!
③使用env命令显示所有的环境变量
$ env
HOSTNAME=redbooks.safe.org
PVM_RSH=/usr/bin/rsh
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000

 ...

④ 使用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

  ...

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

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

$ export TEST="Test..." #增加一个环境变量TEST

$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了

TEST=Test...

$ unset $TEST #删除环境变量TEST

$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了

⑥ . 使用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

5.想将一个路径加入到$PATH中,可以像下面这样做:

①. 控制台中:

 

$ PATH="$PATH:/my_new_path"

②. 修改profile文件:

$ vi /etc/profile

在里面加入:

export PATH="$PATH:/my_new_path"

③. 修改.bashrc文件:
       $ vi /root/.bashrc

在里面加入:

export PATH="$PATH:/my_new_path"

后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:

$ echo $PATH

看看输出里面是不是已经有了/my_new_path这个路径了。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   42   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   27   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   26   0   0 linuxbind
  TEZNKK3IfmPf   17天前   25   0   0 shell
  TEZNKK3IfmPf   2024年05月31日   36   0   0 linuxshell
TEZNKK3IfmPf