Linux 环境变量详解及实例
发布时间 - 2026-01-10 23:01:04 点击率:次Linux环境变量
~/.bash_profile && ~/.bashrc
用户登陆Linux操作系统的时候,"/etc/profile", "~/.bash_profile"等配置文件会被自动执行。
执行过程是这样的:
- 登陆Linux系统时,首先启动"/etc/profile",
- 然后启动用户目录下的"~/.bash_profile",
- 如果"~/.bash_login"和"~/.profile"文件存在的时候也会在执行。
下面看看"~/.bash_profile"文件里面有什么东西
$cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/home/work/local/python/lib/python2.6/site-packages/django/bin/:$HOME/bin:/home/work/local/mysql5/bin/;
LD_LIBRARY_PATH=/home/work/local/mysql5/lib/mysql
alias py='/home/work/local/python/bin/python'
export PATH LD_LIBRARY_PATH
unset USERNAME
可以看到~/.bash_profile文件先调用~/.bashrc,然后再把PATH和LD_LIBRARY_PATH加载。
环境变量相关配置文件
- /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的设置文件中搜集shell的设置。
- /etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取.
- ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
- ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时及每次打开新的shell时,该该文件被读。
- ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件。
/etc/profile是全局性的功能,其中设置的变量作用于所有用户,~/.bash_profile中设置的变量能继承/etc/profile中的变量并作用于用户。
- ~/.bash_profile 是交互式、login 方式进入 bash 运行的
- ~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。
crontab执行环境
大家都知道crontab是个好东东,可以定时执行一些任务,帮助你监控系统状况,帮助你每天重复的做一些机械的事情。但是crontab有一个坏毛病,就是它总是不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错
一般crontab无法运行的问题都是由环境变量在crontab中不一定可识别引起的。
在运行crontab的时候,是non_login方式调用程序的,此时~/.bash_profile并不会被提前调用。所以,crontab的运行环境相对于login方式进入bash运行的环境来说小得多。如果程序涉及~/.bash_profile使用的环境变量,那么,部分在login方式可以正常运行的程序在crontab下就无法运行。
终极推荐解决方案:
30 12 * * * source ~/.bashrc && cd /home/work/mydir && ./myproj
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Linux环境变量
# Linux环境变量详解
# Linux环境变量实例
# linux下配置jdk环境变量的三种方法总结
# Linux Shell脚本系列教程(三):变量和环境变量
# Linux Shell脚本系列教程(四):使用函数添加环境变量
# 浅析linux环境变量export命令详解
# 配置java环境变量(linux mac windows7)
# Linux下安装jdk1.8并配置环境变量的教程
# 在Linux操作系统中修改环境变量的方法
# Linux中修改环境变量及生效方法
# Linux中环境变量配置的步骤详解
# Linux环境变量配置的完整攻略
# 该文件
# 量能
# 配置文件
# 有什么
# 是个
# 运行环境
# 大家都
# 是这样
# 帮助你
# 是由
# 会在
# 希望能
# 得多
# 可以看到
# 时就
# 让它
# 谢谢大家
# 相对于
# 再把
# 用户登录
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何挑选高效建站主机与优质域名?
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
创业网站制作流程,创业网站可靠吗?
python中快速进行多个字符替换的方法小结
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
Laravel如何实现API资源集合?(Resource Collection教程)
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
Linux后台任务运行方法_nohup与&使用技巧【技巧】
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
七夕网站制作视频,七夕大促活动怎么报名?
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
黑客如何利用漏洞与弱口令入侵网站服务器?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
打造顶配客厅影院,这份100寸电视推荐名单请查收
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
IOS倒计时设置UIButton标题title的抖动问题
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Laravel如何配置和使用缓存?(Redis代码示例)
如何快速搭建虚拟主机网站?新手必看指南
UC浏览器如何设置启动页 UC浏览器启动页设置方法
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
轻松掌握MySQL函数中的last_insert_id()
如何在自有机房高效搭建专业网站?
如何在云主机上快速搭建网站?
高防服务器:AI智能防御DDoS攻击与数据安全保障
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
教学论文网站制作软件有哪些,写论文用什么软件
?
Python文件流缓冲机制_IO性能解析【教程】
javascript中对象的定义、使用以及对象和原型链操作小结
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Linux安全能力提升路径_长期防护思维说明【指导】
如何在腾讯云服务器快速搭建个人网站?
浅析上传头像示例及其注意事项
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
Android okhttputils现在进度显示实例代码
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Python文本处理实践_日志清洗解析【指导】

