什么是函数: 可以作为子程序使用的称为函数,函数是用于特定任务的代码块。函数也有可重用性。 本教程将帮助您如何创建shell脚本的函数。
创建Shell脚本第一个函数
创建shell脚本输出你的第一个函数的“Hello World!”。创建一个shell脚本“script.sh”使用下面的代码。
# vim script.sh
#!/bin/bash
funHello(){
echo "Hello World!";
}
# Call funHello from any where in script like below
funHello
执行脚本
# sh script.sh
ouput:
Hello World!
如何在shell脚本里给函数传递参数
传递参数的函数方法和shell命令中传递参数一样的。函数参数$1,$2 ...等,使用下面代码创建shell脚本。
# vim script.sh
#!/bin/bash
funArguments(){
echo "First Argument : $1"
echo "Second Argument : $2"
echo "Third Argument : $3"
echo "Fourth Argument : $4"
}
# Call funArguments from any where in script using parameters like below
funArguments First 2 3.5 Last
执行脚本
# sh script.sh
Ouput:
First Argument : First
Second Argument : 2
Third Argument : 3.5
Fourth Argument : Last
如何接收从Shell脚本函数返回值
有些时候,我们还需要函数有返回值。下面的例子使用shell脚本得到返回的函数值。
# vim script.sh
#!/bin/bash
funReturnValues(){
echo "5"
}
# Call funReturnValues from any where in script and get return values
values=$(funReturnValues)
echo "Return value is : $values"
执行脚本
# sh script.sh
Ouput:
5
如何创建Shell脚本递归函数
调用自身函数被称为递归函数。下面的例子显示,用递归函数打印1至5。
# vim script.sh
#!/bin/bash
funRecursive(){
val=$1
if [ $val -gt 5 ]
then
exit 0
else
echo $val
fi
val=$((val+1))
funRecursive $val # Function calling itself here
}
# Call funRecursive from any where in script
funRecursive 1
执行脚本
# sh script.sh
Ouput:
1
2
3
4
5