1. 函数的定义和调用:
# 定义函数
function_name() {
# commands
}
# 或者使用更短的语法
function_name() { commands; }
# 调用函数
function_name
2. 函数参数:
在函数中可以使用 $1、$2、... 来引用传递给函数的参数。
# 函数定义
greet() {
echo "Hello, $1!"
}
# 函数调用
greet "John"
3. 返回值:
使用 return 语句来返回一个值。返回值可以通过 $? 获取。
# 函数定义
add() {
local result=$(( $1 + $2 ))
return $result
}
# 函数调用
add 5 3
echo "Sum: $?"
4. 局部变量:
在函数中使用 local 关键字声明局部变量,以避免与全局变量冲突。
# 函数定义
example() {
local local_var="I am local"
global_var="I am global"
echo $local_var
}
# 函数调用
example
echo $global_var
5. 函数递归:
Shell支持递归调用函数。
# 递归函数定义
factorial() {
if [ $1 -eq 0 ]; then
echo 1
else
local temp=$(( $1 - 1 ))
local result=$(factorial $temp)
echo $(( $result * $1 ))
fi
}
# 递归函数调用
result=$(factorial 5)
echo "Factorial of 5 is $result"
6. 示例:
以下是一个使用函数的简单脚本,演示了函数的定义、参数和返回值的用法:
#!/bin/bash
# 函数定义
greet() {
local name=$1
echo "Hello, $name!"
}
add() {
local result=$(( $1 + $2 ))
return $result
}
# 函数调用
greet "Alice"
add 7 3
sum=$?
echo "Sum: $sum"
这是一个基本的Shell函数的使用示例。函数使得代码更易于组织、理解和维护,同时提供了可重用的代码块。
转载请注明出处:http://www.pingtaimeng.com/article/detail/3289/Linux