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:~$