环境变量与用户自定义变量的区别

  • 环境变量是全局变量,用户自定义变量是局部变量。
  • 用户自定义变量只在当前的 shell 中生效,环境变量在当前 shell 和这个 shell 的所有子 shell 中生效。
  • 用户可以自定义环境变量,但对系统生效的环境变量名和变量作用是固定的。

用户自定义环境变量

调用使用【$变量名】

  • export 变量名=变量值
  • 或者
  • 变量名=变量值:先声明
  • export 变量名:再export

小结:export的变量在当前 shell 和这个 shell 的所有子 shell 中生效,自定义的变量只在当前shell中生效

查看环境变量

  • set 查看所有变量
  • env 查看环境变量

删除环境变量

  • unset 环境名(即变量名)

常见的系统环境变量

  • HOSTNAME:主机名
  • SHELL:当前的 shell
  • TERM:终端环境
  • HISTSIZE:历史命令条数
  • SSH_CLIENT:当前操作环境是用 ssh 连接的,这里记录客户端 ip
  • SSH_TTY:ssh 连接的终端是 pts/0
  • USER:当前登录的用户
  • PATH:系统搜索命令的路径

Shell变量(3)- bash环境变量_变量名

要想直接通过脚本名执行自己的脚本

即将脚本路径添加到PATH中,或者将脚本放到PATH中任意目录下

Shell变量(3)- bash环境变量_Shell_02

  • 将脚本拷贝至 PATH 中的任意目录下(不建议这样做),例如: $ cp hello.sh /bin/
  • 将脚本所在目录添加到 PATH 变量中,例如: $ PATH="$PATH":/root/sh
  • 系统重启后失效

Shell变量(3)- bash环境变量_Shell_03

PS1:命令提示符设置

  • \d:显示日期,格式为"星期 月 日"
  • \H:显示完整的主机名
  • \t:显示 24 小时制时间,格式为"HH:MM:SS"
  • \A:显示 24 小时制时间,格式为"HH:MM"
  • \u:显示当前用户名
  • \w:显示当前所在目录的完整名称
  • \W:显示当前所在目录的最后一个目录
  • \$:提示符。root 用户为"#",普通用户为"$"

Shell变量(3)- bash环境变量_Shell_04