bash shell命令学习之环境变量篇

本文详细介绍了bash shell中的环境变量,包括查看全局和局部环境变量、设置用户定义变量、设置PATH环境变量、定位系统环境变量以及使用数组变量。重点讲解了如何设置全局和局部变量,以及如何通过export导出为全局变量。此外,还提到了PATH环境变量的添加新目录操作,以及系统和用户环境变量的持久化设置方法。
摘要由CSDN通过智能技术生成

本博客内容来自《Linux命令行与shell脚本编程大全》第六章

目录

1、环境变量

查看全局环境变量

查看局部环境变量

2、设置用户定义变量

设置局部用户定义变量

设置全局环境变量

删除环境变量

3、设置PATH环境变量

添加新目录

4、定位系统环境变量

登录shell

/etc/profile文件

$HOME目录下的启动文件

交互式shell进程

非交互式shell

环境变量持久化

系统环境变量

用户自定义变量

5、数组变量


1、环境变量

环境变量是bash shell用来存储有关shell会话与工作环境信息的特性。分为全局变量和局部变量。

查看全局环境变量

全局环境变量对shell会话以及所有子shell都是可见的,局部变量只对创建它的shell可见。

Linux系统在启动bash会话时会默认设置系统环境变量,可以通过env或printenv命令查看

[root@izwz9194nuv8g0cwqfqsh3z ~]# env
XDG_SESSION_ID=515
HOSTNAME=izwz9194nuv8g0cwqfqsh3z
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=183.157.160.24 24993 22
SSH_TTY=/dev/pts/0
USER=root
......
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=en_US.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=......
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/0
_=/usr/bin/env

查看单个环境变量的值,使用printenv命令,如下所示(env命令无此功能)

[root@izwz9194nuv8g0cwqfqsh3z ~]# printenv HOME
/root

也可以用echo命令显示变量

[root@izwz9194nuv8g0cwqfqsh3z ~]# echo $HOME
/root

查看局部环境变量

很遗憾,Linux现在没有只显示局部环境变量的命令。set命令可以查看为某个进程设置的所有环境变量,包括局部变量、全局变量和用户定义变量,并对输出结果按照字母顺序排列。

[root@izwz9194nuv8g0cwqfqsh3z ~]# set
BASH=/bin/bash
......
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="2" [2]="46" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu")
BASH_VERSION='4.2.46(1)-release'
COLUMNS=187
DIRSTACK=()
EUID=0

2、设置用户定义变量

设置局部用户定义变量

[root@izwz9194nuv8g0cwqfqsh3z ~]# my_var=hello
[root@izwz9194nuv8g0cwqfqsh3z ~]# echo $my_var 
hello
[root@izwz9194nuv8g0cwqfqsh3z ~]# str_var="hello world"
[root@izwz9194nuv8g0cwqfqsh3z ~]# echo $str_var
hello world

自定义变量请小写

等号定义用户变量

如果变量值中有空格,加引号

用户自定义的变量无法在新的进程或子shell中使用。

设置全局环境变量

设置全局环境变量的方法是先设置用户自定义变量,再使用export命令导出为全局变量。

[root@izwz9194nuv8g0cwqfqsh3z ~]# str_var="hello wo

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值