如何使用Bash shell脚本函数

什么是函数: 可以作为子程序使用的称为函数,函数是用于特定任务的代码块。函数也有可重用性。 本教程将帮助您如何创建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
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏