How to use functions in Bash Shell script

不言
Release: 2019-03-22 16:31:09
Original
2529 people have browsed it

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

How to use functions in Bash Shell script

在Shell脚本中创建第一个函数

在shell脚本中创建第一个函数,显示输出“Hello World!”。使用以下代码创建shell脚本“script.sh”。

# vim script.sh
Copy after login
Copy after login
Copy after login
Copy after login
#!/bin/bash

funHello(){
    echo "Hello World!";
}

# Call funHello from any where in script like below

funHello
Copy after login

执行脚本:

# sh script.sh
ouput:

Hello World!
Copy after login

如何将参数传递给shell脚本中的函数

向函数传递参数与从shell向命令传递参数类似。函数接收$1、$2…等的参数。使用以下代码创建shell脚本。

# vim script.sh
Copy after login
Copy after login
Copy after login
Copy after login
#!/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
Copy after login

执行脚本:

# sh script.sh
Ouput:

First Argument : First
Second Argument : 2
Third Argument : 3.5
Fourth Argument : Last
Copy after login

如何从Shell脚本中的函数接收返回值

有时我们还需要从函数返回值。使用以下示例从shell脚本中的函数获取返回值。

# vim script.sh
Copy after login
Copy after login
Copy after login
Copy after login
#!/bin/bash
funReturnValues(){
echo "5"
}
# Call funReturnValues from any where in script and get return values
values=$(funReturnValues)
echo "Return value is : $values"
Copy after login

执行脚本

# sh script.sh
Ouput:
5
Copy after login

如何在shell脚本中创建递归函数

调用自身的函数称为递归函数。下面的示例显示如何使用递归函数打印1到5位数字。

# vim script.sh
Copy after login
Copy after login
Copy after login
Copy after login
#!/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
Copy after login

执行脚本:

# sh script.sh
Ouput:

1
2
3
4
5
Copy after login

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template