当前位置: 首页 > 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.dtcms.com/a/332335.html

相关文章:

  • 46.Sentinel规则持久化
  • FreeRTOS中断服务程序(ISR)详细讲解
  • 从ChatGPT到智能助手:Agent智能体如何颠覆AI应用
  • 基于uiautomation的自动化流程RPA开源开发演示
  • 机器学习——PCA(主成分分析)降维
  • 开源 Arkts 鸿蒙应用 开发(十五)自定义绘图控件--仪表盘
  • STM32 - Embedded IDE - GCC - 解决LWRB库在GCC编译器会编译失败,在ARMCC编译器时却正常编译
  • 【GUI】ssh实现gui本地可视
  • 公司的服务器怎么个事,服务器是什么东西
  • 系统思考:情绪内耗与思维模式
  • 开源长期记忆 短期记忆 框架调研对比19999字
  • 4.4 vue3生命周期函数
  • 解决在uniapp真机运行上i18n变量获取不到问题
  • Vue2与Vue3生命周期函数全面解析:从入门到精通
  • 【测试用例】
  • Qt 常用控件 - 9
  • 小兔鲜儿-小程序uni-app(二)
  • 手机端的音视频界面或者图片文档界面共享给大屏
  • 从源码到可执行文件:hello.c 的二进制之旅
  • Java项目基本流程(四)
  • 基于阿里云音频识别模型的网页语音识别系统实现
  • 人工智能与社会治理:从工具到生态的范式重构
  • spring中异步任务注解@Async和@scheduled的使用
  • Redis核心应用场景及代码案例
  • 璞致fpga Zynq UltraScale Plus RFSoC PZ-ZU47DR 核心板与开发板用户手册
  • StringBoot-SSE和WebFlux方式消息实时推送-默认单向-可增加交互接口
  • 力扣 hoot100 搜索二维矩阵
  • Unity 绳子插件 ObjRope 使用简记
  • 从应用场景看国产化FPGA潜力,紫光同创研讨会武汉·北京站回顾
  • Java面试实战系列【并发篇】- Semaphore深度解析与实战