shell的函数和Javacript和php的函数声明一样,只不过shell在调用函数的时候,只需要写函数名就可以调用函数,注意不要在函数名后面加括号
下面是一个简单的函数使用
#!/bin/bash
#文件名:test.sh
function test(){
echo "aaaaaaa"
}
#直接使用函数名就可以调用函数
test
test
运行:
ubuntu@ubuntu:~$ ./test.sh aaaaaaa aaaaaaa ubuntu@ubuntu:~$
如果函数需要参数,并不是在定义函数的时候,在函数名后面的写参数,而是在函数内部,像命令行一行使用$1-9来获取传给函数的参数。然后在调用函数的时候,给函数传参,直接在函数名后面接着参数,各参数和函数名之间以空格分隔。
#!/bin/bash
#文件名:test.sh
function testOne(){
num=$1
tot=0
#求1到num的和
for ((i=1;i<=$num;i++)){
tot=$(($tot + $i))
}
echo $tot
}
function testTwo(){
# echo `expr $1 + $2`
#等价于
echo $(($1+$2))
}
testOne 100
testTwo 200 300
运行:
ubuntu@ubuntu:~$ ./test.sh 5050 500 ubuntu@ubuntu:~$