作用
往shell脚本里面传递参数
位置参数变量 | 作用 |
$n |
n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数需要用大括号包含,如 ${10} |
$* |
这个变量代表命令行中所有的参数,$* 把所有的参数看成一个整体 |
$@ |
这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区分对待 |
$# |
这个变量代表命令行中所有参数的个数 |
例子1
#!/bin/bash
num1=$1
num2=$2
sum=$(($num1+num2))
echo $sum
备注:因为Linux参数都是字符型,所有两个参数相加得加$((参数1+参数2))
例子2
#!/bin/bash
echo "\$* 输入的参数是:$*"
echo "\$@ 输入的参数是:$@"
echo "\$# 总共输入的参数:$#"
例子3-1
作用:$* 与 $@ 的区别,$* 与 $@放在双引号“”里
代码:
#!/bin/bash
for i in "$*"
do
echo "\$* 参数是:$*"
done
for i in "$@"
do
echo "\$@ 参数是:$@"
done
例子3-2
作用:$* 与 $@ 的区别,$* 与 $@不放在双引号“”里
代码:
#!/bin/bash
for i in $*
do
echo "\$* 参数是:$*"
done
for i in $@
do
echo "\$@ 参数是:$@"
done
总结:发现$* 与 $@在shell脚本中,不用双引号和加双引号时候区别的,实际工作中运用要注意!!!