当前位置: 首页 > article >正文

使用source ~/.bashrc修改环境变量之后,关闭服务器,在重启,环境变量还有吗?

环境变量在服务器重启后的留存性分析

1. 环境变量的存储机制
  • 临时环境变量
    通过命令直接设置的环境变量(如 export MY_VAR=value)仅存在于当前 shell 会话中,服务器重启后会丢失
  • 永久环境变量
    写入 配置文件(如 ~/.bashrc/etc/profile 等)的环境变量,会在 用户登录或系统启动时自动加载,因此服务器重启后仍然有效
2. source ~/.bashrc 的作用范围
  • 当前会话生效
    source ~/.bashrc 仅将配置文件中的内容加载到当前 shell 会话不会修改配置文件本身
    • 若修改了 .bashrc 文件并执行 source修改后的内容会被保存到文件中,因此重启后依然有效
    • 若未修改 .bashrc 文件,仅通过 source 临时加载其他配置(如手动输入 export 命令),则这些临时操作不会写入文件重启后丢失
3. 关键问题:是否修改了配置文件?
  • 场景 1:通过编辑 .bashrc 文件添加环境变量

    # 编辑文件并保存修改
    echo 'export MY_VAR=hello' >> ~/.bashrc
    # 执行 source 使当前会话生效(非必须,但可立即验证)
    source ~/.bashrc
    
    • 结果.bashrc 文件已保存修改,服务器重启后环境变量仍然存在(下次登录时会自动加载)。
  • 场景 2:直接通过命令行临时设置环境变量

    # 未修改配置文件,仅临时设置(如测试时)
    export MY_VAR=hello
    source ~/.bashrc  # 此处 source 不会保存任何内容到文件
    
    • 结果:环境变量仅存在于当前会话服务器重启后丢失
4. 配置文件的加载时机

不同配置文件在系统启动或用户登录时的加载顺序不同:

配置文件作用范围加载时机
/etc/profile全局(所有用户)系统启动时,用户登录时加载
~/.bash_profile当前用户用户登录时加载(Bash 登录 shell)
~/.bashrc当前用户打开终端(非登录 shell)时加载
  • 服务器重启后
    • 若环境变量写入 /etc/profile~/.bash_profile,会在用户登录时自动加载
    • 若写入 ~/.bashrc,需在用户打开新终端会话时加载(服务器后台服务可能需特殊处理)。
5. 验证方法
  • 重启前验证配置是否保存到文件
    cat ~/.bashrc  # 检查是否包含你的环境变量设置
    
  • 重启后验证环境变量是否存在
    ssh 服务器地址  # 重新登录
    echo $MY_VAR   # 若输出设置的值,则说明留存成功
    

总结

  • 若通过编辑 .bashrc 文件添加环境变量并保存,即使执行 source 后重启服务器,环境变量依然存在(因配置已写入文件)。
  • 若仅通过命令行临时设置(未修改文件),则重启后丢失。
  • 最佳实践:永久生效的环境变量应直接写入配置文件(如 ~/.bashrc 或全局配置文件),避免依赖临时会话操作。
http://www.lryc.cn/news/2397590.html

相关文章:

  • SQL 窗口函数深度解析:ROW_NUMBER 实战指南
  • React从基础入门到高级实战:React 生态与工具 - React 国际化(i18n)
  • leetcode93.复原IP地址:回溯算法中段控制与前导零处理的深度解析
  • TDengine 运维——巡检工具(安装前检查)
  • MySQL主从复制深度解析:原理、架构与实战部署指南
  • [SC]SystemC dont_initialize的应用场景详解(二)
  • 【Linux】权限chmod命令+Linux终端常用快捷键
  • Java八股文智能体——Agent提示词(Prompt)
  • Go语言的context
  • 快速掌握 GO 之 RabbitMQ 结合 gin+gorm 案例
  • JVM——SubstrateVM:AOT编译框架
  • 【HarmonyOS 5】鸿蒙Taro跨端框架
  • 数据库原理 试卷
  • 【Qt开发】对话框
  • Ubuntu上进行VS Code的配置
  • 阴盘奇门 api数据接口
  • 2025年渗透测试面试题总结-匿名[校招]攻防研究员(应用安全)(题目+回答)
  • 碰一碰发视频系统--基于H5场景开发
  • MagicAnimate 论文解读:引入时间一致性的视频人物动画生成方法
  • QT使用说明
  • 数据结构:递归(Recursion)
  • Cesium快速入门到精通系列教程一:打造第一个Cesium应用
  • 力扣题解106:从中序与后序遍历序列构造二叉树
  • Vue传参Props还是Pinia
  • 学习STC51单片机25(芯片为STC89C52RCRC)
  • 宁夏农业科技:创新引领,赋能现代农业新篇章
  • Accelerate 2025北亚巡展正式启航!AI智御全球·引领安全新时代
  • 005学生心理咨询评估系统技术解析:搭建科学心理评估平台
  • azure devops 系列 - 常用的task
  • 贪心算法应用:多重背包启发式问题详解