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

局部变量与全局变量的关系及应用

局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量;

环境变量所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

将局部变量导出变成全局变量,我们可以使用 export 指令:

$ exportMYVAR
$ ./myvar2.sh
MYVAR is: hello
MYVAR is: hi there

现在 myvar2.sh 成功继承了环境便令 MYVAR,但是在 myvar2.sh 内改变 MYVAR 并不会影响全局的 MYVAR。在终端打印 MYVAR 结果仍旧是 hello

$ echo$MYVAR
hello

当 myvar2.sh 执行完后,执行它的环境将会被销毁。如果想让脚本和终端在同一环境下执行程序(此时在脚本内改变变量内容就会影响到整个环境),我们可以 source 这个脚本,具体的做法是在执行脚本的指令前面加一个 . 或者 source

$ MYVAR=hello
$ echo$MYVAR
hello
$ . ./myvar2.sh
MYVAR is: hello
MYVAR is: hi there
$ echo$MYVAR
hi there

以上就是本文的三个板块。在配置系统环境时经常用到 export 和 source,如果你之前不明白这两个指令的含义,希望这篇文章对你有所帮助。

http://www.lryc.cn/news/621889.html

相关文章:

  • 【swift开发】SwiftUI概述 SwiftUI 全面解析:苹果生态的声明式 UI 革命
  • Unity_导航网格
  • 什么是国产化防爆平板?有哪些功能特点?应用在什么场景?
  • Unity与OpenGL中的材质系统详解
  • 【完整源码+数据集+部署教程】孔洞检测系统源码和数据集:改进yolo11-RetBlock
  • 汽车线束高压屏蔽层接地设计
  • uniapp小程序ocr-navigator身份证拍照上传替换方案
  • 解决在uniapp真机运行上i18n变量获取不到问题
  • USB ADB 简介
  • 为什么游戏会出现“卡顿”:`clock.tick()` v.s. `clock.get_fps()`
  • 【Cuda 编程思想】LinearQaunt-分块量化矩阵乘法计算过程
  • 25. 移动端-uni-app
  • 【URP】[光栅阶段][光栅插值]Unity透视校正插值
  • 2025年最新政策下,劳务报酬的增值税应该如何计算?
  • MqSQL中的《快照读》和《当前读》
  • Prometheus 监控 Kubernetes Cluster 最新极简教程
  • [论文笔记] WiscKey: Separating Keys from Values in SSD-Conscious Storage
  • DeepSeek-V2:一种强大、经济且高效的混合专家语言模型
  • 在 macOS 上顺利安装 lapsolver
  • 从根本上解决MAC权限问题(关闭sip)
  • vue3 wangeditor5 编辑器,使用方法
  • demo 通讯录 + 城市选择器 (字母索引左右联动 ListItemGroup+AlphabetIndexer)笔记
  • 分布式锁:从理论到实战的深度指南
  • 【机器人-基础知识】ROS常见功能架构
  • 微软自曝Win 11严重漏洞:可导致全盘数据丢失
  • Kafka生产者原理深度解析
  • 从ChatGPT到智能助手:Agent智能体如何颠覆AI应用
  • Python爬虫反爬检测失效问题的代理池轮换与请求头伪装实战方案
  • 【121页PPT】智慧方案智慧综合体智能化设计方案(附下载方式)
  • java + html 图片点击文字验证码