飞凌嵌入式ElfBoard-Shell脚本编写基础-特殊变量

在Shell中存在一些特殊且重要的变量,例如:0、1、$#,这些称之为特殊位置参数变量。要从命令行、函数或脚本执行等处传递参数时,就需要在Shell脚本中使用位置参数变量。

|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 特殊变量 | 作用说明 |
| 0 | 获取当前执行的Shell脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径。 | | n | 获取当前执行的Shell脚本的第n个参数值,n=1...9,当n为0时表示脚本的文件名:如果大于9,则用大括号括起来,例如{10},接的参数以空格空开。 | | # | 获取当前执行的Shell脚本后面接的参数的总个数 |
| \* | 获取当前Shell脚本所有传参的参数,不加引号和@想用;如果给\*加上双引号,例如:"*",则表示将所有的参数视为单个字符串,相当于 "123" | | @ | 获取当前Shell脚本所有的传参的参数,不加引号和\*相同;如果给@加上双引号,例如: "@",则表示将所有的参数视为不同的独立字符串,相当于 "1" "2" "3" "..."。这是将多参数传递给其他程序的最佳方式,因为它会保留所有的内嵌在每个参数里的任何空白。当 "@" 和 "*" 都加双引号时,两者是有区别的;都不加双引号时,两者无区别。 |

相关推荐
晚安日记wanna8 分钟前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
yunwei3716 分钟前
eBPF 示例教程:实现 `scx_nest` 调度器
linux·后端·性能优化
朽棘不雕37 分钟前
关于重定向的小补充
linux
T1mzhou44 分钟前
ARM64 平台安全学习记录
linux·服务器·arm开发·arm
GG-_-Bond1 小时前
基于dpdk实现udp接收数据
linux·网络·udp
吴声子夜歌2 小时前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落2 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
tedcloud1232 小时前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
星间都市山脉2 小时前
Android16 SystemService.onBootPhase 调用时机
android·java·linux·windows·ubuntu
初願致夕霞2 小时前
Linux 进程间通信(IPC)机制详解:管道、FIFO 与 System V 共享内存
linux·服务器·c++