linux设置环境变量目录,Linux环境变量配置方法详解

Linux 系统中的程序和脚本都是通过环境变量来获取系统信息、存储数据和配置信息。在 Linux 中,一般通过环境变量配置操作系统的环境,例如提示符、查找命令的路径和用户家目录等,这些系统默认的环境变量的变量名是固定的,因此只能修改其变量的值。

环境变量也称全局变量,环境变量可用于定义 Shell 的运行环境,环境变量可以在配置文件中定义与修改,也可以在命令行中设置,但是命令行中的修改操作在终端重启时就会丢失,因此最好在配置文件中修改(用户家目录的“.Bash_profile“文件或者全局配置“/etc/profile”、“/etc/Bashrc”文件或者“/etc/profile.d”文件中定义)。

注意,环境变量和用户自定义变量最主要的区别在于,环境变量是全局变量,而用户自定义变量是局部变量。用户自定义变量只在当前的 Shell 中生效,而环境变量会在当前 Shell 和这个 Shell 的所有子 Shell 中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的 Shell 中生效。

查看环境变量的设置可以使用 set 命令,命令如下:

[root@bogon ~]# set

BASH=/bin/bash

BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath

BASH_ALIASES=()

BASH_ARGC=()

BASH_ARGV=()

BASH_CMDS=()

BASH_LINENO=()

BASH_SOURCE=()

BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu")

......

set 既可以查询所有的变量,也可以查询环境变量,刚刚就是使用 set 命令进行环境变量查询。当然,也可以使用 env 命令进行环境变量的查询,命令如下:

[root@bogon ~]# env

ORBIT_SOCKETDIR=/tmp/orbit-root

HOSTNAME=bogon

GIO_LAUNCHED_DESKTOP_FILE_PID=2846

TERM=xterm

SHELL=/bin/bash

XDG_SESSION_COOKIE=1d9e5f67d8e8ae0368e1911d00000028-1598258960.284271-485945958

HISTSIZE=1000

GTK_RC_FILES=/etc/gtk/gtkrc:/root/.gtkrc-1.2-gnome2

WINDOWID=23068675

USER=root

......

注意,env 和 set 命令的区别是,set 命令可以查看所有变量,而 env 命令只能查看环境变量。

环境变量的删除使用 unset 命令,比如删除环境变量 gender,命令如下:

[root@bogon ~]# unset gender

[root@bogon ~]# env | grep gender

为了方便读者记忆,这里为大家设置了一张表格(表 1),总结了设置环境变量的常用指令及说明。

表 1 环境变量的常用指令及说明

指 令

说 明

echo

查看显示环境变量,变量使用时要加上符号“$”,例如:echo $PATH

export

设置新的环境变量,export 新环境变量名=内容

修改环境变量

修改环境变量没有指令,可以直接使用环境变量名进行修改

env

查看所有环境变量

set

查看本地定义的所有 Shell 变量

unset

删除一个环境变量

readonly

设置只读环境变量

在 Linux 系统中有很多预设的环境变量,但是用户经常使用的却不多。表 2 就是用户可能经常使用的环境变量及操作环境的命令。

表 2 常用环境变量及操作指令

变量及指令

说 明

HOME

当前用户的家目录

PWD

用户当前的工作目录

LANG

标识程序将要使用的默认语言

TERM

用户登录终端的类型

PATH

可执行文件(命令)的搜索路径,即搜寻存放程序的一个目录列表

SHELL

用户登录Shell路径

USER

用户的用户名

PS1

主命令提示符

PS2

次命令提示符

RANDOM

0~32767的随机数

reset

当屏幕崩溃即出现乱码时,重新设置终端的命令

which

定位并显示可执行文件(命令)所在路径的变量

PATH环境变量的设置

PATH 变量的值是用“:”分隔的路径,这些路径就是系统查找命令的路径。当输入一个没有写入路径的程序名时,系统就会到 PATH 变量定义的路径中去寻找是否有可以执行的程序,如果找到则执行,否则会出现“命令没有发现”的错误提示。

查询 PATH 环境变量的命令如下:

[root@bogon ~]# echo $PATH

在进行本教程学习时所使用的系统中,PATH 环境变量的内容如下:

[root@bogon ~]# echo $PATH

/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

可以看出,在输出中有 7 个可供 Shell 用来查找命令和程序。

如果命令或者程序的位置没有放在 PATH 变量中,并且不使用绝对路径,Shell 是没有办法找到指定路径的,会产生错误信息提示。

为了解决应用程序放置可执行文件的目录常常不在 PATH 环境变量所包含的目录中的问题,通常 PATH 变量会包含所有存放应用程序的目录。把新的目录添加到现有的 PATH 变量中是最常用的方法,即无须从头定义,只要在 PATH 中的各个目录之间用冒号隔开,需要引用原来的 PATH 值,然后再给字符串添加新的目录就可以了。

【例 1】在 PATH 环境变量中添加目录。

[root@bogon ~]# echo $PATH

/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

[root@bogon ~]# PATH=$PATH:/demo

[root@bogon ~]# echo $PATH

/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/demo

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值