亲测有效Linux添加环境变量,并且使service可以获取到这些环境变量
0、Linux环境变量分类
(1)临时变量,指当shell窗口关闭时变量失效,通过export命令添加。
(2)全局变量,全局生效且不会因窗口的关闭而失效,通过修改/etc/profile文件实现。
这里主要介绍第(2)种。
1、Linux全局环境变量的添加方法:修改 /etc/profile
(1) 代码如下:
# 如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u w /etc/profile
# 修改/etc/profile文件内容
# 输入vim /etc/profile,进入默认的命令行模式(command mode)
vim /etc/profile
# 按i进入文本输入模式(编辑模式/insert mode)
# 在最后加上
export VARIABLE_1='xxx'
export VARIABLE_2='yyy'
# 修改完成按Esc退出
# 按:进入末行模式(底行模式/last line mode),然后输入w保存,继续输入:q退出
# 手动source /etc/profile生效,或新开终端生效
source /etc/profile
(2) 注意事项:
(a)生效时间:新开终端生效,或者手动source /etc/profile生效
(b)生效期限:永久有效
(c)生效范围:对所有用户有效
2、查看环境变量
# 查看单个环境变量
echo $VARIABLE_1
echo $VARIABLE_2
# 查看全部环境变量
env
3、使service可以获取到这些环境变量
(1) 注意:
为什么注册的系统服务不能获取到全局的环境变量?
普通Shell脚本在终端下运行时,环境变量来自于init/profile/.bash_profile等,就是在当前终端下可以得到的环境,比如PATH。
在service模式下,脚本运行在受限的环境中: 比如
service tomcat restart等同于
env -i LANG=“ L A N G " P A T H = " LANG" PATH=" LANG"PATH="PATH” TERM=“$TERM” “/etc/init.d/tomcat” restart
其中: env -i表示清空当前环境变量,然后带入后面的LANG,PATH,TERM
而PATH变量来自于/etc/init.d/functions:
PATH=“/sbin:/usr/sbin:/bin:/usr/bin”
所以,当把一个shell脚本放入到service中时,需要设定好PATH等环境。
(2) 方法如下:
# etc/systemd/system/路径下找到对应的service服务,例如abc.service
# 添加内容:Environment=VARIABLE_1='xxx'
# 添加内容:Environment=VARIABLE_2='yyy'
[Service]
User=root
Group=root
Environment=VARIABLE_1='xxx'
Environment=VARIABLE_2='yyy'
# 重新加载service
systemctl daemon-reload
# 重新启动service,下面的abc为对应上面的service服务的名称(去掉扩展名)
service abc restart
#若有此服务对应的restart-服务,则也需重复以上步骤
4、service脚本获取环境变量
import os
env_dist = os.environ
variable_1 = env_dist.get("VARIABLE_1")
variable_2 = env_dist.get("VARIABLE_ 2")
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbgfif
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01