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

Shell 中 $@ 和 $* 的区别

$@$*都表示所有位置参数,但它们有一个关键区别:

$@把每个参数当作独立的个体("各自为政"),$*把全部参数当成一个整体("打包处理")。

变量行为什么时候用
$@每个参数独立,保持空格和引号推荐,大多数场景
$*所有参数合并成一个字符串需要把所有参数当整体时

二、示例

脚本

#!/bin/bash # test.sh echo "=== 测试 \$@ ===" for arg in "$@"; do echo "参数: $arg" done echo "" echo "=== 测试 \$* ===" for arg in "$*"; do echo "参数: $arg" done

运行脚本

./test.sh a b c

输出

=== 测试 $@ === 参数: a 参数: b 参数: c === 测试 $* === 参数: a b c
  • $@:每个参数单独一行

  • $*:所有参数合并成一个

但没有引号时差异更明显

带空格和引号的参数

./test.sh "hello world" "foo bar"

输出

=== 测试 $@ === 参数: hello world 参数: foo bar === 测试 $* === 参数: hello world foo bar
  • $@:保持了每个参数的引号,"hello world"作为一个整体

  • $*:把所有东西合并成一个字符串

区别的本质

变量存储方式相当于
"$@"["hello world", "foo bar"]每个参数独立,像列表
"$*"["hello world foo bar"]全部拼成一个字符串,像单个元素

$@是一组,$*是一坨。大多数情况下用"$@"就可以了。

http://www.jsqmd.com/news/1391793/

相关文章:

  • CSP-J 2023 旅游巴士 题解
  • Windows Defender 管理工具上手教程:三步永久禁用,一条命令恢复
  • 新手也能快速上手!ModernWMS开源仓库管理系统社区贡献终极指南:从第一个Issue到首个PR的全过程
  • 告别U盘和网盘搬运:3个场景让跨设备文件同步自动完成
  • 接口返回 200,用户说没收到——异步 API 的排查思路
  • 第七史诗自动挂机神器E7Helper全攻略:刷书签、讨伐、竞技场一站式解放双手
  • edge impulse导出的arduino库中出现头文件缺失:edge-impulse-sdk\porting\espressif\esp-dsp\modules\fft\fi...如何解决?
  • 上海创意网站建设:如何在海量同质化竞争中通过独特设计突围并实现品牌溢价与流量转化
  • 【ORC】在数据湖架构中,ORC 通常与哪些表格式(Hive Metastore, Iceberg, Hudi)配合使用?
  • Opus 4.8翻车记:硅谷最贵AI,开口第一句——“我是千问“
  • 无名杀网页版免费即开即玩:浏览器里体验完整三国杀的全指南
  • 操作系统那些事儿⑥:Unix 世界的另一条主线——System V、Solaris 与商业 Unix
  • 字节跳动面试题到底在考什么?116道LeetCode高频题给出的三个答案
  • 滨州网站建设招聘 揭秘中小团队突围背后的用人逻辑与真实需求
  • 手握滔天富贵仍不知足,一个野心毁掉了他的一生
  • 告别命令行与传输线:一个开源APK安装器把安卓应用装进Windows
  • 1600代码造出水下曼哈顿, Fable 5让Karpathy看呆了
  • 还在为分子可视化发愁?10分钟上手 Avogadro 2 开源分子建模软件
  • 【信息科学与工程学】【通信工程】第一百六十五篇 路由与交换的函数工程设计13
  • WarcraftHelper魔兽争霸3辅助插件:免费开源,一招解决宽屏适配与帧率解锁难题
  • 什么是PCB?-解决多层板电源噪声与PDN谐振
  • 工业级上位机(HMI / SCADA)的优秀开源框架源码推荐
  • 英雄联盟回放打不开怎么办?ROFL-Player 让旧版 .rofl 文件全部“复活“
  • 一文吃透 ECharts 多坐标系组合:从双轴混排到多网格联动的进阶实战
  • m4s转MP4免费指南:m4s-converter无损合并B站缓存视频,三分钟搞定播放
  • 中山东升DHL/UPS/FedEx国际快递 | 世邦物流上门取件 - 烟雾弥漫L
  • 浅谈tee命令
  • Photoshop WebP插件WebPShop上手指南:3分钟装好,动画导出与无损压缩一步到位
  • 大尺寸测量的“拼接难题”:图像拼接技术在服装尺寸测量中的精度损失与恢复策略
  • WebPShop 插件深度解析:Photoshop 里被低估的 WebP 动画与压缩控制