参考博客:shell 脚本-10函数_eno_zeng的博客-CSDN博客
- $n 或 ${n} :函数内使用 $n 或 ${n} 访问对应的参数, 数字代表参数的前后顺序, $1 代表第一个参数, $2 代表第三个参数, $n 代表第n个参数;当n>=10时,需要使用${n}来获取参数。
- $# :使用 $# 获取参数的个数;
- $* 和 $@ :使用 $* 和 $@ 获取所有的参数;
- {}:使用花括号{}来明确变量的边界,特别是在变量名后面紧接着其他字符的情况下;
1)示例代码
useParams () {
echo "参数1: $1"
echo "参数2: $2"
echo "参数3: ${3}"
echo "参数个数: $#"
echo "所有参数: $*"
}
useParams 1 2 3 4 s
2)执行结果
参数1: 1
参数2: 2
参数3: 3
参数个数: 5
所有参数: 1 2 3 4 s
3)注意事项
$10 不能获取第十个参数,获取第十个参数需要${10}。
当n>=10时,需要使用${n}来获取参数。
例如:在.sh文件中使用以下脚本:
/data/miniconda3/envs/env-3.6.8/bin/python get_goods_picture_and_feature_all.py $1 $2 $3 $4 $5 $6 $7 $8 $9 $10
当传入以下参数时:
dianshang.mdb.mig x2 x3 x4 x5 x6 x7 x8 20 200000"
传入的第10个参数不是200000,而是第1个参数和字符串'0'——‘dianshang.mdb.mig0’

正确的打开方式如下:
/data/miniconda3/envs/env-3.6.8/bin/python get_goods_picture_and_feature_all.py $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}


![[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-9阈值选取-机器视觉中应用正态分布和6-sigma](https://img-blog.csdnimg.cn/direct/cc78b19f146c4185a1082da5319042ac.png)








![[架构之路-259]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 面向服务的架构SOA与微服务架构(以服务为最小的构建单位)](https://img-blog.csdnimg.cn/direct/81160562151d4a67afc82f4f1a48007c.png)


![队列排序:给定序列a,每次操作将a[1]移动到 从右往左第一个严格小于a[1]的元素的下一个位置,求能否使序列有序,若可以,求最少操作次数](https://img-blog.csdnimg.cn/direct/d00b9c3138bb48b7a5e3850fe91d6aa8.png)




