如何使用nohup命令设置进程的环境变量
nohup命令可使进程在终端关闭后继续运行。通过export临时设置环境变量,再在同一行用nohup加&启动程序。更稳妥方式是将变量声明写入脚本开头。export变量仅对当前会话有效,持久化需写入~/.bashrc等配置文件。
nohup 这个命令,说它是后台运行的“守护神”一点也不为过。它的核心能力就是:让你启动的程序在终端关闭或会话断开后,依然能默默跑完。这次我们聚焦一个很实际的应用场景——如何结合 nohup 来管理进程的环境变量。
操作上其实非常简单,两步搞定。
第一步,设置环境变量。直接在你的命令行里,用 export 命令声明一下就行。比如说,我们需要一个叫 MY_VARIABLE 的变量:
export MY_VARIABLE=value
这就相当于给当前会话打上了一个标签。
第二步,在同一行用 nohup 启动你的程序。例如,要运行一个叫 my_script.sh 的脚本:
nohup ./my_script.sh &
这里有个小细节——别漏了最后的 & 符号,它才是让程序“跑进后台”的关键。执行之后,nohup 会自动把脚本的输出写入当前目录下的 nohup.out 文件里,方便你事后查日志。
那脚本里怎么用这些环境变量呢?更稳妥的做法,是把变量声明直接写在脚本开头,特别是当你要运行的脚本需要依赖特定环境时。比如 my_script.sh 可以写成这个样子:
#!/bin/bash
export MY_VARIABLE=value
# 其他脚本命令
这样,不管你在哪个终端、用什么方式启动,脚本在执行期间都能确保拿到正确的变量值。

export 临时设置的变量,只对当前那个会话有效。一旦你关闭终端窗口或者登录一个新的会话,这些变量就消失了。如果你想让它对每个新终端都自动生效,那就得把它写入 shell 的配置文件中,比如 ~/.bashrc 或 ~/.bash_profile。这是 Linux 运维里一个很基础但也很容易忽略的“坑”,值得养成好习惯。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















