Shell 变量大揭秘!全局 VS. 局部,你的数据住在哪儿?

🔍 变量也分“户口”?全局变量 (环境变量) & 局部变量!

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 脚本中的数据哦!快去试试吧!✨


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值