当前位置:首页>Linux>Linux进阶 | Shell编程02:变量与环境变量

Linux进阶 | Shell编程02:变量与环境变量

  • 2026-09-10 01:13:55
Linux进阶 | Shell编程02:变量与环境变量
在上一期,我们已经能写出简单脚本了,比如:
name="Tom"echo "Hello $name"
但你可能很快会遇到这些问题:
变量在脚本里能用,执行完就没了
子脚本拿不到变量
明明安装了软件,却提示 command not found
👉 这些问题的核心,都是环境变量

一、什么是变量?

在 Shell 中,变量就是“存储数据的容器”(在其他的一些编程语言中也是这样的)。
最基本用法:
name="Linux"echo $name
输出:Linux
注意:
❗ 等号不能有空格
❗ 使用变量必须加 $

二、变量的作用范围(关键)

这是很多人第一次踩坑的地方。
来看一个例子:
VAR=hellobash test.sh
在 test.sh 中:
echo $VAR
输出:没有值!
原因是:

普通变量只在当前 Shell 有效,子进程无法访问

三、export:让变量“升级”

解决办法就是:
export VAR=hello
再执行:
bash test.sh
输出:hello
👉 成功!
一句话总结:

export 用于将变量变成环境变量,使其对子进程可见

四、env:查看当前环境

想查看当前所有环境变量,可以使用:
env
输出示例:

USER=root

HOME=/root

PATH=/usr/bin:/bin

👉 显示系统运行环境
也可以筛选:
env | grep PATH

五、PATH:最重要的环境变量

来看一个关键变量:
echo $PATH
输出:
它的作用是:

告诉系统去哪里查找命令

例如你执行:
ls
系统会去图中的这些目录找:
/usr/local/sbin/ls ......等

六、常见错误:command not found

如果 PATH 配置错误:
export PATH=/tmp
再执行:
ls
会出现:
command not found
👉 因为系统找不到命令了
正确写法:
export PATH=$PATH:/tmp

七、source:让配置立即生效

当你修改配置文件:
vim ~/.bashrc
添加:
export MY_VAR=123
此时直接:
echo $MY_VAR
👉 可能没有效果
解决方法:
source ~/.bashrc
👉 立即生效
一句话理解:

source 用于在当前 Shell 加载配置文件

八、三者关系总结(重点)

这是本篇最重要的内容👇
变量体系关系:

普通变量 → export → 环境变量 → env查看 → source加载

或者按照下面的方式来记忆:

export 定义环境

env 查看环境

source 加载环境

九、实战案例

场景1:设置开发环境
export APP_ENV=devecho $APP_ENV
场景2:配置 Java 环境
export JAVA_HOME=/usr/local/javaexport PATH=$PATH:$JAVA_HOME/bin
场景3:脚本传递变量
export NAME=Tombash test.sh

十、常见错误总结

❌ 变量在子脚本中失效
👉 忘记使用 export
❌ 修改配置不生效
👉 忘记 source
❌ 覆盖 PATH
export PATH=/tmp
👉 导致系统命令失效

十一、小结

这一篇你需要掌握三个核心命令:

export → 定义环境变量

env    → 查看环境变量

source → 加载配置

一句话总结:

环境变量决定了程序“如何运行”。

🚀 下一篇预告

下一篇进入真正的“脚本能力”:
👉Shell编程03|参数与输入:$1 / $@ / read / getopts 实战
你将学会:
  • 给脚本传参
  • 解析命令行参数
  • 写一个“可交互脚本”
这是从“能写脚本”到“写好脚本”的关键一步 👍

最新文章

随机文章