当前位置: 首页 > 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.jsqmd.com/news/106221/

相关文章:

  • 2025 最新双高筋缠绕管厂家 TOP5 评测!服务四川、贵州、西藏、重庆四地众多用户,优质服务商权威榜单发布,构筑给排水工程坚实基石 - 全局中转站
  • 高性价比之选!20万左右新能源 SUV 核心配置与续航实测
  • 2025年国内正规的工业冷却塔实力厂家哪家靠谱,冷却塔填料/方形横流冷却塔/工业冷却塔/圆形逆流冷却塔/工业冷却塔定做厂家哪家权威 - 品牌推荐师
  • 2025最新MPP电力管品牌TOP5 评测!服务深度覆盖四川、贵州、西藏、重庆,优质服务商权威榜单发布,赋能电力工程建设新发展 - 全局中转站
  • AutoHotkey v2 (AHK) windows自动化使用
  • 想做安全副业却纠结方向?漏洞挖掘、技术博客、竞赛奖金实战哪个更适合你?
  • ConvLSTM实战:构建交通流量预测系统
  • 基于微信小程序的校园义工系统毕业设计全套源码文档
  • Frida-Labs0x3-0xB WP
  • 比手动排查快10倍:自动化处理Socket端口冲突
  • 无线充电系统S - S拓扑仿真:WPT闭环控制探索
  • 一文帮你总结2025年最新获客系统品牌有哪些,必看! - 品牌策略主理人
  • 零基础学会用AI监控网站链接健康状态
  • 5分钟快速验证:Maven原型项目生成器
  • Conda环境管理:比传统pip快3倍的依赖解决方案
  • Redmi Note 12 Pro Speed-开启开发者选项
  • 曲速推理机故障排除指南
  • CF587F Duff is Mad
  • 利用wan2.1协议快速构建网络通信原型
  • 用 Go 像写 Web 一样做桌面应用:完全离线的手机号归属地查询工具
  • AI助力SpringBoot+MyBatisPlus开发:自动生成CRUD代码
  • websocket功能开发
  • STM32HAL库读取ADS1115驱动
  • 任务5-2 关联查询和子查询
  • 分布式电源接入对配电网影响分析 关键词:分布式电源 配电网 评估 参考文档:《自写文档,联系我...
  • 源网荷储充一体化平台:安科瑞EMS微电网能源管理系统介绍
  • HoughLinesP 霍夫变换 C#x2B;#x2B; opencv 内存报错处理
  • Day4 9. 奇怪的信 -卡码网C++基础课
  • Python - UV 为每个项目创建独立、干净的Python工作空间
  • 测试决策的心理因素:在认知偏差与专业判断间寻找平衡