Linux中提供了很多内置的函数,但有时我们需要根据自己的需求来创建自定义函数。下面介绍一下关于shell编程中的自定义函数。
1、函数定义
function hello(){
echo "Hello!!"
}
或
hello(){
echo "Hello!!"
}
2、函数调用
[tough@toughhou shell]$ cat fun.sh
#!/bin/bash
function hello(){
echo "Hello!!"
}
hello
[tough@toughhou shell]$ sh fun.sh
Hello!!
#函数需要先定义,后使用,否则出错
[tough@toughhou shell]$ cat fun1.sh
#!/bin/bash
hello #调用未定义的函数导致出错
function hello(){
echo "Hello!!"
}
[tough@toughhou shell]$ sh fun1.sh
fun1.sh: line 2: hello: command not found
3、参数传递
[tough@toughhou shell]$ cat hello.sh
#!/bin/bash
hello(){
echo "Hello, $2" #此处的$2是调用函数hello时传递进来的参数
}
#此处的$2,$1是调用hello.sh时传递进来的参数
hello $2 $1
[tough@toughhou shell]$ sh hello.sh Tough1 Tough2
Hello, Tough1
4、函数文件引用
[tough@toughhou shell]$ cat helloFun
hello(){
echo "Hello!!"
}
[tough@toughhou shell]$ more invoke.sh
#!/bin/bash
. ./helloFun #此处引用了helloFun函数文件
hello #此处调用了helloFun函数文件中的hello函数
[tough@toughhou shell]$ sh invoke.sh
Hello!!