Linux环境变量

环境变量配置文件

对所有用户都起作用
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc

用户家目录,只对当前用户起作用
~/.bash_profile
~/.bashrc

注意:必须要通过输入用户名和密码登录(包括SSH);或不登入系统,但使用su命令切换用户,相应的环境变量才生效。所以当服务器重启后,在未登入情况下,环境变量是不生效的(因此有服务程序调用环境变量,这里需要注意).

环境变量详解

启动过程
正常登录配置文件顺序加载过程,所谓正常登录指用户通过输入用户名和密码登录的状态。
在这里插入图片描述
不正常启动(su命令切换用户)
在这里插入图片描述

/etc/profile.d和/etc/profile区别

1、都用来设置环境变量文件
2、/etc/profile.d/ 高度解耦, 比 /etc/profile 好维护,不想要什么变量直接删除 /etc/profile.d/ 下对应的 shell 脚本即可
3、/etc/profile 和 /etc/profile.d 同样是登录(login)级别的变量,当用户重新登录 shell 时会触发。所以效果一致。
4、设置登录级别的变量,重新登录 shell,或者 source /etc/profile,变量生效。

在 /etc/profile.d/ 目录下新建对应的 sh 文件即可,比如:

vi /etc/profile.d/django.sh
export NAME="bruce"
export AGE="18"

立即刷新使变量可用:

source /etc/profile

查看:

echo $NAME

使用场景:

当部署Django等业务系统时,settings.py等文件里涉及数据库等密码信息,当部署的文件内容比较敏感时,将敏感信息放在环境变量里.然后使用python3的os.environ,调用环境变量,存放进settings.py对应的代码里.

注意:必须要通过输入用户名和密码登录(包括SSH);或不登入系统,但使用su命令切换用户,相应的环境变量才生效。所以当服务器重启后,在未登入情况下,环境变量是不生效的(因此有服务程序调用环境变量,这里需要注意).

python3调用环境变量

python3使用os.environ[“变量名”]来获取变量名对应的值.但需要注意,使用pycharm以及visual studio code等IDE,运行代码会提示无法找到对应的变量名.需要直接在系统shell模式,使用python3 XXX.py,可以看到调用变量成功.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值