我们知道命令可以带参数,同样脚本文件运行时也可以带有参数。
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 $@是将三个参数,分别打包为三个字符串打印出来的。