Linux Ubuntu使用9: 环境变量

SHELL中的变量

什么是环境变量,如何设置环境变量

最典型的环境变量,PATH ,  JAVA_HOME

SHELL,是一个脚本编程语言

1 定义变量

2 执行命令 echo ls cd cp

3 if 判断逻辑, while循环逻辑

4 自定义的函数 …

提示:如果想学一门脚本语言,可以选择 Python 

示例:

#!/bin/sh

# 定义变量

OUTDIR=/opt

# 使用变量

echo "output to : ${OUTDIR}"

ls ${OUTDIR}

要点与细节

1 定义一个变量

  NAME=value

等号左右两侧不要多加空格

2 使用一个变量

  ${NAME}

如果已经有了定界符,则可以简写为 $NAME

例如 echo $NAME/build/

环境变量

环境变量,就是存在当前环境中的变量

无论Linux ,还是Windows,都有环境变量

比如,最常用的环境变量 PATH,  JAVA_HOME

定义环境变量

export OUTDIR=/opt/

显示环境变量

echo ${OUTDIR}

查看所有环境变量

printenv

环境变量的使用:

  • 可以在当前终端中使用
  • 可以在 SHELL 脚本中调用

思考

在命令行中定义的环境变量,只对当前SHELL终端有效

当关闭终端后,重启后就消失了

思考:有没有办法让一个环境变量不消失?

用户环境变量

用户环境变量:定义在 ~/.profile 中

在主目录下

ls -la 

其中,a 表示 all ,显示所有文件

注:在Linux下,以 . 开头的文件为 隐藏文件

1 用文本编辑器打开 ~/. profile 

gedit ~/.profile

2 添加

export JAVA_HOME=/opt/jdk1.8

保存并关闭

3 注销,重新登录后生效

echo $JAVA_HOME

原理:当用户打开终端时,会自动运行 .profile ,将变量注入到当前环境中。

要点与细节

1 以点号 . 开头的文件为隐藏文件

ls -a 查看所有文件

2 此配置只对当前用户有效

因为每个用户都有自己的配置文件 .profile

3 有的Linux系统上,使用 .bash_profile

系统环境变量

系统环境变量:定义在 /etc/profile 中

此中的环境变量对 所有用户 有效

以 root 身份执行

gedit  /etc/profile 

但是,一般不直接修改 /etc/profile 

而是在 /etc/profile.d/ 创建一个自定义的脚本

演示:

1 用 gedit 创建一个脚本 

gedit /etc/profile.d/myprofile.sh

2 定义环境变量

export TOMCAT=/opt/tomcat

3 注销并重新登录

重新登录后,环境变量生效

PATH 环境变量

先来看一个问题:创建一个可执行脚本 hello.sh

直接执行:

 明明就在当前目录下,为什么提示找不到?

PATH,最常见的一个环境变量

用于描述可执行程序的搜索路径

echo $PATH

多个路径之间以冒号分隔

usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin

默认地,系统从以下目录中搜索可执行程序

/usr/bin  比如,/usr/bin/tar

/usr/sbin  比如,/usr/sbin/useradd

/usr/local/bin

/usr/local/sbin

其中, sbin 为超级用户 root 才能执行的程序

/usr/ 下系统自带的程序, /usr/local/ 是用户安装的程序

演示:修改PATH环境变量。。。

1 编辑 /etc/profile.d/myprofile.sh

设定 PATH 环境变量

export PATH=$PATH:/opt/tomcat/bin

2 注销,重新登录后生效
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值