本次我们来介绍下有关位置参数的知识
下表是一些参数变量
$n | $0代表命令本身, 1 − 9 代 表 接 受 的 第 1 − 9 个 参 数 , 10 以 上 需 要 用 括 起 来 , 比 如 1-9代表接受的第1-9个参数,10以上需要用{}括起来,比如 1−9代表接受的第1−9个参数,10以上需要用括起来,比如{10}代表接收的第10个参数 |
---|---|
$* | 代表接收所有的参数,将所有参数看作一个整体 |
$@ | 代表接收的所有参数,将每个参数区别对待 |
– | – |
$# | 代表接收的参数个数 |
这是编写的一个简单参数脚本
当我们执行脚本时,只打印出了命令本身。这正是$0的作用
如果我们试着在执行命令后加几个参数,就会发现打印出相关参数。这也就是
$n的作用。
接下来让我们打印一个加法脚本
#!/bin/bash
num1=$1
num2=$2
sum=$(($num1+$num2))
echo $sum
结果如下
另外在这里要说明下$*和 $@之间的区别
例如:
for i in "$*’
#!/bin/bash
#$*中所有的参数看成一个整体,所以这个for循环只会循环一次
do
echo"the parameters is :$i"
done
x=1
for y in “$@”
#!/bin/bash
#$@中所有的参数都是独立的,所以有几个参数,这个for循环就会循环几次
do
echo"the parameters $x is :$y"
x=$(($x+1))
done
让我们一起看一个例子:
结果如下
希望这个例子让你更加了解二者的不同