之路 on it Road.com

默认 Bash Shell 变量

该表描述了登录时由 bash shell 分配的默认值的变量。

变量含义
EDITOR定义 shell 的默认编辑器
FCEDIT定义 fc 命令的编辑器。 与历史机制一起用于编辑以前执行的命令。
HOME设置当命令行上没有提供参数时 cd 命令更改到的目录
LOGNAME设置用户的登录名
PATH指定当 shell 需要查找要执行的命令时要搜索的以冒号分隔的目录列表
PS1指定主要的 Bash shell 提示:$
PS2指定辅助命令提示符,通常:>
SHELL指定 shell 的名称(即 /bin/bash)

显示shell 变量

echo 命令显示存储在 shell 变量中的值。

$ echo $SHELL
/bin/bash
$ set
DISPLAY=:0.0
EDITOR=/usr/bin/vi
SHELL=/bin/bash
TERM=xterm-256color
USER=geek
...

什么是变量?

变量是内存中的一个临时存储区域,由用户、shell、系统或者加载另一个程序的任何程序设置。
有两类变量:

  • 环境变量在会话期间有效。
  • shell 变量仅适用于当前的 shell 实例,用于设置短期工作条件。

自定义 Shell 变量:PS1

shell 提示字符串存储在 shell 变量 PS1 中,我们可以根据自己的喜好进行自定义。

$ PS1=”$LOGNAME@`uname -n` $PWD $ “
user@server01: $

在此示例中,提示显示用户的登录名、系统的主机名和当前工作目录。

  • 用户名从变量 LOGNAME 中读取,主机名来自“uname -n”命令的输出。

  • 即使用户在不同的主机上登录,此 shell 提示也会显示正确的信息。

  • 反引号 (`) 标记分隔嵌入的命令字符串。

自定义 Shell 变量:PATH

PATH 变量包含目录路径名称列表,以冒号分隔。
在命令行上执行命令时,shell 会从左到右依次搜索这些目录以定位该命令。
如果 shell 在目录列表中找不到该命令,则会显示“未找到”错误消息。
为确保命令顺利运行,我们应该在 PATH 变量中包含相应的目录。
该示例说明了将主目录包含到 PATH 变量中。

例如,要将主目录包含在 PATH 变量中,请执行以下命令。

$ echo $PATH
/usr/bin:/usr/sbin
$ PATH=$PATH:~
$ echo $PATH 
/usr/bin:/usr/sbin:/home/user01

设置和取消设置 Shell 变量

Shell 变量是使用 set 命令设置的。
例如:

$ set history = 50
$ echo $history
30

set 命令还用于显示 shell 变量及其值。
例如:

$ set | grep history
30

可以使用 unset 命令反转这些值。

Linux Bash Shell中的变量
日期:2020-09-17 00:14:50 来源:oir作者:oir