在 Shell 中,我们定义 函数 时,不像 C 语言、 C++、 Python、 Java 和 Golang 那样,需要传递参数,Shell 中的函数在定义时不能指明参数,但是在调用时却可以传递参数。
函数参数是 Shell 位置参数的一种,在函数内部可以使用 $n 来接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推。除了 n,还有另外三个比较重要的变量,# 可以获取传递的参数的个数,$@ 或者 $* 可以一次性获取所有的参数。
定义函数,并传递参数
#!/bin/bash
function show(){
echo "Name is: $1"
echo "Site is: $2"
echo "Age is: $3"
}
show haicoder www.haicoder.net 109
程序运行后,控制台输出如下:
我们定义了一个函数 show,同时,在该函数里面,我们使用了 $1
、$2
和 $3
分别获取了传递的第一个参数、第二个参数和第三个参数。
定义函数,并传递参数
#!/bin/bash
function show(){
for str in $@
do
echo $str
done
}
show haicoder www.haicoder.net 109
程序运行后,控制台输出如下:
我们看到,我们在函数 show 里面,使用了 $@
获取了函数传递的所有参数。
函数参数是 Shell 位置参数的一种,在函数内部可以使用 $n 来接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推。除了 n,还有另外三个比较重要的变量,# 可以获取传递的参数的个数,$@ 或者 $* 可以一次性获取所有的参数。