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

5、Shell编程中的参数、变量与数组详解

Shell编程中的参数、变量与数组详解

1. 变量的基本概念与作用域

在Shell编程里,变量是存储数据的容器。变量的作用域决定了它在程序中的可见范围。一般而言,在脚本里赋值的变量默认可在当前脚本以及当前脚本定义的函数中访问。不过,在子shell中设置的变量,对调用它的脚本是不可见的。子shell包含命令替换(如$(command)`command`)、管道的所有元素以及用括号括起来的代码(如( command ))。

例如,下面的代码展示了变量在子shell中的作用域问题:

printf "%s\n" ${RANDOM}{,,,,,} | while read num do (( num > ${biggest:=0} )) && biggest=$num done printf "The largest number is: %d\n" "$biggest"

在这个例子中,biggest变量在while循环里赋值,但由于while循环是管道的一部分,在子shell中执行,所以循环结束后,外部脚本无法获取到biggest的值。从Bash - 4.2开始,新增了lastpipe选项,可让管道中的最后一个进程在当前shell中执行,使用方法如下:

http://www.gsyq.cn/news/117184.html

相关文章:

  • 2025 最新双高筋缠绕管厂家 TOP5 评测!服务四川、贵州、西藏、重庆四地众多用户,优质服务商权威榜单发布,构筑给排水工程坚实基石 - 全局中转站
  • 比手动排查快10倍:自动化处理Socket端口冲突
  • 基于SpringBoot的校园资讯交流平台系统毕业设计全套源码文档
  • 5分钟快速验证:Maven原型项目生成器
  • STM32HAL库读取ADS1115驱动
  • 测试决策的心理因素:在认知偏差与专业判断间寻找平衡
  • 完整教程:SQL常用语句解析:从查询到操作
  • 上海专业做室外防水 选芮生建设 14年经验守护建筑外墙屋顶不漏 - shruisheng
  • 3个关键步骤解决JimuReport报表组件依赖配置难题
  • FPGA在AI时代的角色重塑:硬件可重构性与异构计算的完美结合
  • 上海防水补漏上门维修服务哪家好?认准芮生建设,14年专业团队守护安居 - shruisheng
  • 守护代码世界的守门人——软件测试团队心理健康白皮书
  • Arbess从基础到实践(20) - 集成GitHub+SonarQube实现Java项目自动化部署
  • 突破与变革:2026年AI领域的技术创新与新机会
  • Phi-3模型部署教程:从入门到实战应用
  • Arbess从基础到实践(21) - 集成GitLab+PostIn实现Go项目自动化部署并执行接口测试用例
  • 【计算机毕业设计案例】基于SpringBoot+微信小程序的智能在线预约挂号系统基于springboot+微信小程序的智能医疗管理系统设计与实现(程序+文档+讲解+定制)
  • SeedVR2视频修复模型实战部署与性能优化指南
  • AI学习机是智商税吗?实测告诉你真相+2025年推荐清单 - 品牌测评鉴赏家
  • GEO优化实战指南:如何让品牌在AI搜索中被优先引用
  • 使用格子玻尔兹曼方法(LBM)模拟液滴分裂的伪势模型Matlab程序
  • AI智能体 - A2A协议
  • 构建可测试的代码:开发者的质量守护之道
  • Cellpose-SAM细胞分割工具:从入门到精通的全流程指南 [特殊字符]
  • GroundingDINO配置实战指南:5分钟掌握两大模型核心差异
  • OpenUSD工具链:usdview与命令行工具完全指南
  • 全网热议!2026年人力资源解决方案EOR名义雇主服务品牌排行榜,解决企业用工难题
  • MiMo-V2-Flash
  • Docker容器Redisson日志优化终极指南:多维度解决方案
  • 九尾狐AI企业增长白皮书:AI驱动时代下的获客破局之道