Linux Shell 位置参数详解:从基础到实战
Shell 位置参数(Positional Parameters)是脚本接收命令行参数的核心机制。无论是简单的传参还是复杂的选项解析,掌握位置参数都是编写专业 Shell 脚本的必备技能。本文从基础概念出发,逐步深入到实战案例,帮助你彻底理解并灵活运用位置参数。位置参数基础Shell 提供了一组名为位置参数的变量,用于存储命令行中的各个单词。这些变量从$0到$9,其中$0总是存放被执行程序的路径名(通常是脚本的完整路径)。以下脚本可以展示这些参数:#!/bin/bash# posit-param: script to view command line parametersecho" \$0=$0\$1=$1\$2=$2\$3=$3\$4=$4\$5=$5\$6=$6\$7=$7\$8=$8\$9=$9"无参数运行时,$0仍显示程序路径:[me@linuxbox ~]$ posit-param $0 = /home/me/bin/posit-param $1 = $2 = $3 = $4 = $5 = $6 = $7 = $8 = $9 =传入参数后:[me@linuxbox ~]$ posit-param a b c d $0 = /home/me/bin/posit-param $1 = a $2 = b $3 = c $4 = d $5 = $6 = $7 = $8 = $9 =访问超过 9 个参数时,必须使用展开语法${10}、${55}等。参数个数与通配符问题Shell 提供了$#变量,记录命令行参数的个数。结合通配符*使用时要特别小心:[me@linuxbox ~]$ posit-param * Number of arguments:82$0=/home/me/bin/posit-param$1=addresses.ldif...当当前目录包含大量文件时,*会展开为 82 个参数。这时就需要使用shift命令来遍历它们。使用 shift 遍历所有参数shift命令将参数列表“向下移动一位”:$2变成$1,$3变成$2,依此类推,同时$#减 1。下面的脚本循环处理所有参数:#!/bin/bash# posit-param2: script to display all argumentscount=1while[[$#-gt0]];doecho"Argument$count=$1"count=$((count+1))shiftdone执行结果:[me@linuxbox ~]$ posit-param2 a b c d Argument 1 = a Argument 2 = b Argument 3 = c Argument 4 = d文件信息程序实例利用basename和$0可以构建健壮的错误信息,使脚本改名后自动适配:#!/bin/bash# file-info: simple file information programPROGNAME="$(basename"$0")"if[[-e"$1"]];thenecho

相关新闻

(7-2-3)

(7-2-3)

7.2.6 最后编码绘制损失曲线:

2026/7/10 13:32:20阅读更多 →
Opus 4.8编程落地:契约式提示与monorepo工程化实践

Opus 4.8编程落地:契约式提示与monorepo工程化实践

1. 不是“又变天”,而是编程协作范式的静默迁移最近刷到“Claude Opus 4.8 发布:编程能力暴增,AI圈又变天了?”这类标题,我第一反应不是点开,而是把手机翻过来扣在桌上——不是反感,是太熟了。过…

2026/7/10 13:32:20阅读更多 →
3个实战技巧:彻底解决wiliwili手柄控制90%的常见问题

3个实战技巧:彻底解决wiliwili手柄控制90%的常见问题

3个实战技巧:彻底解决wiliwili手柄控制90%的常见问题 【免费下载链接】wiliwili 第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili wiliwili作为专…

2026/7/10 13:27:19阅读更多 →
工业自动化中TPD2015FN与PIC18F4682的驱动控制方案

工业自动化中TPD2015FN与PIC18F4682的驱动控制方案

1. 项目背景与核心器件选型 在工业自动化控制系统中,电感和电阻负载的精确控制一直是关键挑战。TPD2015FN作为东芝的8通道高端智能功率开关IC,其40V耐压和每通道1A的驱动能力,特别适合电磁阀、继电器等感性负载的驱动场景。而PIC18F4682微控制…

2026/7/10 15:37:46阅读更多 →
校园时钟靠谱采购渠道及供应商筛选指南

校园时钟靠谱采购渠道及供应商筛选指南

速览本文针对教育领域校园时钟采购全链路需求,梳理主流采购渠道优劣势、供应商核心筛选标准、头部厂商综合对比及不同场景适配建议,附采购避坑指南,可作为高校、教育局、职业院校等主体的采购决策参考。长沙天穹等头部时频设备供应商在校园场…

2026/7/10 15:37:46阅读更多 →
从电视盒子到全能服务器:Armbian系统在Amlogic设备上的完全指南

从电视盒子到全能服务器:Armbian系统在Amlogic设备上的完全指南

从电视盒子到全能服务器:Armbian系统在Amlogic设备上的完全指南 【免费下载链接】amlogic-s9xxx-armbian Supports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l,…

2026/7/10 15:37:45阅读更多 →
Excel常见函数、常见操作记录

Excel常见函数、常见操作记录

一、匹配函数VLOOKUP的应用 VLOOKUP的四个参数的介绍: lookup_value:查找值。 table_array:查找范围,从查找值所在列开始框选,即查找范围第一列必须为查找值所在列数。查找范围需要进行固定,防止批量计算时…

2026/7/10 15:37:45阅读更多 →
MyBatis01-MyBatis入门程序

MyBatis01-MyBatis入门程序

一、JDBC 的主要问题(缺点)虽然 JDBC 是 Java 操作数据库的标准方式,但它存在很多痛点:1. 代码冗余严重每次操作数据库都要写很多重复代码,如:建立连接创建 PreparedStatement设置参数执行 SQL处理结果集 R…

2026/7/10 15:37:45阅读更多 →
MP2672A双节锂电池平衡充电与STM32控制实战

MP2672A双节锂电池平衡充电与STM32控制实战

1. MP2672A芯片深度解析:双节锂电平衡充电的核心引擎在锂电池组应用中,电压不均衡是导致容量衰减和安全事故的首要元凶。MP2672A作为MPS推出的高集成度解决方案,完美解决了2节串联锂电的充电与均衡难题。这款QFN-18封装(2mm3mm&am…

2026/7/10 15:32:44阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/10 12:10:00阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/10 12:29:21阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/10 4:59:05阅读更多 →
浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比

浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比

浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比当你在浏览器地址栏敲入一个网址时,背后可能隐藏着一场关于"要不要重新下载资源"的精密博弈。这场博弈的裁判是HTTP缓存机制,而304状态码则是这场博弈…

2026/7/10 0:00:01阅读更多 →
RoboWits:面向创造性问题求解的双臂机器人认知推理基准

RoboWits:面向创造性问题求解的双臂机器人认知推理基准

1. 项目概述:这不是又一个机器人抓取数据集,而是一次对“思考力”的压力测试 RoboWits——这个名字里藏着两个关键信号:“Robo”直指物理世界中的具身智能体,“Wits”则毫不掩饰地指向人类最核心的认知能力:机敏、判断…

2026/7/10 0:00:01阅读更多 →
5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能

5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能

5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款专为Windows…

2026/7/10 0:00:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/10 13:39:09阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/9 15:50:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/9 14:14:17阅读更多 →