Shell 中常用的环境变量

Shell 中有很多常用的环境变量,它们存储了系统配置、用户信息、程序行为等重要数据。以下是一些最常用的环境变量:

1. 路径相关变量

# 当前用户的主目录
echo $HOME
# 示例: /home/username 或 /root

# 当前工作目录
echo $PWD
# 示例: /home/username/projects

# 上一个工作目录
echo $OLDPWD
# 示例: /home/username/documents

2. 用户和身份相关

# 当前用户名
echo $USER
# 示例: username

# 用户ID
echo $UID
# 示例: 1000

# 登录Shell
echo $SHELL
# 示例: /bin/bash

# 终端类型
echo $TERM
# 示例: xterm-256color

3. 系统路径相关

# 命令搜索路径(最重要的变量之一)
echo $PATH
# 示例: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

# 动态库搜索路径
echo $LD_LIBRARY_PATH
# 示例: /usr/local/lib:/usr/lib

# 手动页搜索路径
echo $MANPATH

4. Shell 配置相关

# 当前Shell的路径
echo $BASH
# 示例: /bin/bash

# Bash 版本
echo $BASH_VERSION
# 示例: 5.1.16(1)-release

# Shell 选项
echo $SHELLOPTS
# 示例: braceexpand:emacs:hashall:histexpand:history:...

# 命令历史相关
echo $HISTSIZE    # 内存中保存的历史命令数量
echo $HISTFILESIZE # 历史文件保存的命令数量
echo $HISTFILE    # 历史文件路径

5. 语言和区域设置

# 系统语言和编码
echo $LANG
# 示例: en_US.UTF-8

# 本地化设置
echo $LC_ALL
echo $LC_COLLATE  # 排序规则
echo $LC_CTYPE    # 字符分类

6. 应用程序特定变量

# 默认文本编辑器
echo $EDITOR
# 示例: vim 或 nano

# 默认分页器
echo $PAGER
# 示例: less

# 浏览器
echo $BROWSER
# 示例: firefox

# 临时目录
echo $TMPDIR
# 示例: /tmp

7. 终端和显示相关

# 当前终端设备
echo $TERM
# 示例: xterm-256color

# 显示服务器(X11)
echo $DISPLAY
# 示例: :0 或 :1

# 颜色支持
echo $COLORTERM
# 示例: truecolor

8. 进程和作业控制

# 当前进程ID
echo $$
# 示例: 1234

# 上一个后台进程ID
echo $!
# 示例: 1235

# 上一个命令的退出状态
echo $?
# 示例: 0 (成功) 或 1 (失败)

9. 其他重要变量

# 主机名
echo $HOSTNAME
# 示例: my-computer

# 主机类型
echo $HOSTTYPE
# 示例: x86_64

# 提示符格式
echo $PS1
# 示例: \u@\h:\w\$

# 输入字段分隔符(用于单词分割)
echo $IFS
# 示例: 空格、制表符、换行符

实用命令示例

查看所有环境变量

# 查看所有环境变量
env
# 或
printenv

# 查看所有变量(包括环境变量和局部变量)
set

# 查看特定变量
echo "PATH: $PATH"
echo "User: $USER"
echo "Home: $HOME"

设置环境变量

# 临时设置(当前会话有效)
export MY_VAR="value"

# 永久设置(添加到 ~/.bashrc 或 ~/.profile)
echo 'export MY_VAR="value"' >> ~/.bashrc
source ~/.bashrc

常用环境变量操作脚本

#!/bin/bash

echo "=== 系统信息 ==="
echo "用户: $USER"
echo "主机: $HOSTNAME"
echo "Shell: $SHELL"
echo "工作目录: $PWD"

echo -e "\n=== 路径信息 ==="
echo "HOME: $HOME"
echo "PATH: $PATH"

echo -e "\n=== 检查重要变量 ==="
# 检查编辑器是否设置
if [ -z "$EDITOR" ]; then
    echo "警告: EDITOR 未设置"
else
    echo "默认编辑器: $EDITOR"
fi

# 检查语言设置
echo "系统语言: ${LANG:-未设置}"

注意事项

  1. 变量名区分大小写
  2. 使用 export 命令使变量成为环境变量
  3. 环境变量只在当前进程和子进程中有效
  4. 永久设置需要写入配置文件(如 ~/.bashrc, ~/.profile, /etc/environment

这些环境变量在Shell编程和日常系统管理中非常有用,理解它们可以帮助你更好地配置和使用系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值