我们知道命令可以带参数,同样脚本文件运行时也可以带有参数。
1、脚本内获取参数
脚本内获取参数的格式为:$n
n代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推。
举例,仍然在myshell.sh中进行举例,在该脚本文件中加入参数打印代码echo $1,即将传入的第一个参数打印出来:


保存后执行脚本,并传入参数par:

传入两个参数par1和par2,并打印出来:


保存后执行脚本,并传入参数par1和par2:

2、获取传递参数
获取传递参数的个数使用$#。
在脚本中加入echo $#,打印出输入参数的个数:


保存后执行脚本,并传入参数par1和par2:

3、传入的参数打包为一个字符串
将传入的参数打包为一个字符串使用$*。
在脚本中加入echo $*,打印出输入的所有参数:


可以看到$*是将所有的输入参数组装成为了字符串。

4、传入的参数分别打包为一个字符串
将传入的参数分别打包为字符串使用$@
我们先演示一下,在脚本中加入echo $@:


输入三个参数执行:

可以看到,echo $@打印出来的结果跟echo $*一样,但是其实,echo $*是将三个参数打包成一个字符串打印出来的,而echo $@是将三个参数,分别打包为三个字符串打印出来的。







![[CTF]-Pwn:做题笔记](https://i-blog.csdnimg.cn/direct/c7ea9ade3285476f9d202e64907681b0.png)




![[进阶]面向对象之static关键字](https://i-blog.csdnimg.cn/direct/c6b183ec79984176af97ee69028da29f.png)






