🔍 变量也分“户口”?全局变量 (环境变量) & 局部变量!
Shell 变量就像我们生活中的物品,有些是大家都能用的(全局),有些是你自己专属的(局部)!
🌎 全局变量 (环境变量):走到哪儿都好使!
环境变量就像是你的身份证,在整个 Linux 系统里,只要你登录了,走到哪个“房间”(Shell 进程)都能用!更厉害的是,你创建的任何“子房间”(子 Shell 进程)也能认出它们!简直就是通行证!🛂
环境变量又分为两种:
- 自定义环境变量: 你可以自己创建的全局变量,用
export
命令“广播”出去,告诉大家:“这是我的全局变量!”📢 - Bash 内置环境变量: Bash 这个“大管家”自带了一些全局变量,比如你的用户名、当前目录等等,随时都能用!💼
🏡 局部变量 (普通变量):我的地盘我做主!
局部变量就像你的日记本,只在你自己的“房间”(当前的 Shell 函数或脚本)里有效,出了这个房间,别人就不知道啦!🤫 它们通常是你在写脚本的时候临时用一下的小 помощники (助手)。
📝 举个栗子,一看就明白!
#!/bin/bash
# 定义一个全局变量 (环境变量)
export city='Miami'
echo "当前城市是:$city" # 输出:当前城市是:Miami
bash # 开启一个新的子 Shell 进程
echo "子 Shell 中也能看到城市:$city" # 输出:子 Shell 中也能看到城市:Miami
exit # 退出子 Shell 进程
# 定义一个局部变量
age=25
echo "我的年龄是:$age" # 输出:我的年龄是:25
bash # 再次开启一个新的子 Shell 进程
echo "子 Shell 中还能看到年龄吗?$age" # 输出:子 Shell 中还能看到年龄吗? (什么都没有!)
exit # 退出子 Shell 进程
💖 总结一下:
环境变量是“全球通用”的,子 Shell 也能用;局部变量是“私人专属”的,出了自己的“房间”就失效啦!记住它们的区别,能让你更好地管理 Shell 脚本中的数据哦!快去试试吧!✨