Home >Operation and Maintenance >Linux Operation and Maintenance >How to use functions in Bash Shell script

How to use functions in Bash Shell script

不言
不言Original
2019-03-22 16:31:092551browse

本篇文章将给大家介绍关于如何在shell脚本中创建和使用函数,下面我们来看具体的内容。

How to use functions in Bash Shell script

在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

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注PHP中文网的Linux教程视频栏目!

The above is the detailed content of How to use functions in Bash Shell script. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn