一、基本介绍
1、如何传递参数
向shell脚本传递数据的最基本方法就是通过命令行参数。如下,这条命令会向test.sh脚本传递10和20这两个参数。
./test.sh 10 20
2、如何读取参数
bash shell会将所有的命令行参数都指派给称作**位置参数(positional parameter)**的特殊变量,包括shell脚本名称。
$0:对应脚本名;
$1:对应第一个命令行参数
$2:对应第二次命令参数
以此类推,直到$9
bash
#!/bin/bash
#计算阶乘
factorial=1
for (( a = 1; a <= $1; a++ ))
do
factorial=$[ $factorial * $a ]
done
echo "$1的阶乘是$factorial."
因为传入的参数之间是以空格分隔的,如果传入的参数带有空格,就需要使用引号。
bash
#!/bin/bash
echo "Hello $1, you are a good man."
exit
3、参数超过9个
如果想要传入的参数超过9个,需要在第9个位置变量后,在变量名的两侧加上花括号,如${10}。
bash
#!/bin/bash
product=$[ ${10} * ${11} ]
echo "第10个参数是${10}."
echo "第11个参数是${11}."
echo "product的值是$product."
exit