关于linux:Linux系列之管理用户环境变量

37次阅读

共计 1185 个字符,预计需要花费 3 分钟才能阅读完成。

前言

环境变量管制你在 Linux 工作环境中的外观、行为和感觉。一共有两种类型的变量:

  • 环境变量 :这些是内置于零碎中的过程范畴的变量,管制着零碎的外观和行为。因为是过程范畴的,所以它们被任何子shell 或过程所继承。
  • shell 变量 :通常以小写字母列出,并且只在它们被设置的shell 中无效。

查看和批改环境变量

应用 env 命令来查看所有的默认环境变量:

环境变量总是大写的,正如咱们所看到的SHELLWINDOWID 以及 COLORTERM

为了查看所有的环境变量,包含 shell 变量、本地变量,以及 shell 函数:比如说任何用户定义的变量和命令别名,咱们能够应用 set 命令。我会把它和 more 一起应用,这样它看起来更容易治理

set | more

扭转变量值

咱们能够通过提供变量名来更改变量,前面跟着相等符号以及新值:

HISTSIZE=200

咱们扭转了变量 HISTSIZE 的值,但只在咱们特定的环境中失效。如果咱们想将此更改长久化,咱们能够应用 export 命令。export将会把你以后的环境中的新值,设置到任何新 fork 的子过程中,容许新过程继承导出的变量。

export HISTSIZE

留神:进行任何更改之前,你兴许想要保留一份以后值的正本echo $VARIABLE> ~/valueOfVARIABLE.txt,或者你甚至可能想保留一份所有以后变量值正本set> ~/valueofALLon02252020.txt

你可能须要批改的另一个变量是 PS1 变量。它有一组占位符,用于显示你想在 shell 提示符中显示的信息:

  • \u 以后用户的名字
  • \h 主机名
  • \w 当前工作目录的根本名称

PATH 变量

PATH 变量管制 shell 在零碎中的何处查找命令。如果 bash shell 在你的 PATH 变量中的某个目录中没有找到该命令,将会返回 command not found 谬误。

让咱们来看看哪个目录存储着环境变量:

echo $PATH

这是我的终端来搜查任意命令的所有目录。每个目录通过冒号 (:) 进行分隔。

如果说我有某些命令存在于 /home/azureuser/gpstools 目录下,我想将该目录增加到 PATH 中。咱们能够通过输出以下内容将一个目录增加到 PATH 变量中:

PATH=$PATH:/directory/to/add

这将会在原来的 PATH 根底上,加上 /directory/to/add/ 目录。

请留神:不要执行PATH=/directory/to/add,那会替换所有原有的目录并增加新的目录,你想要的是追加,而不是替换。

创立用户自定义变量

咱们能够通过以下语法来创立属于咱们本人的变量:

MYVARIABLE="VALUE"

如果你须要让它长久化,别忘了导出它:export MYVARIABLE。如果你想删除任何变量,应用 unset 命令:unset MYVARIABLE,该命令只是在删除任何货色之前进行仔细检查。

正文完
 0