shell脚本中导出函数

您需要使用export命令:

fname(){
  echo "Foo"
}
 
export -f fname

声明shell函数

必须先声明shell函数,然后才能使用它们。

声明shell函数的语法为:

function name(){
  Commands
}

或者

name(){
Commands
return $TRUE
}

然后我们可以通过输入函数名称来调用函数:

name

函数的局部变量

使用local命令创建局部变量:

#!/bin/bash
# 全局 x and y
x=200
y=100
 
math(){
  # 局部变量
  local x=
  local y=
  echo $(( $x + $y ))
}
 
echo "x: $x and y: $y"
# 调用函数
 
echo "Calling math() with x: $x and y: $y"
math 5 10
 
echo "x: $x and y: $y after calling math()"
echo $(( $x + $y ))

shell 递归函数

递归函数调用本身。递归是一种有用的技术,用于简化某些复杂的算法并解决复杂的问题。

#!/bin/bash
foo(){
  # do something
  # if not false call foo
  foo
}
 
# call foo
foo

将函数设置为只读

您可以在脚本顶部创建函数,并使用readonly命令设置readonly属性:

fname(){
  echo "Foo"
}
 
usage(){
  echo "Usage: 
#!/bin/bash
# 定义 usage 函数
usage(){
	echo "Usage: ##代码## filename"
	exit 1
}
 
# 定义 file_exits 函数 
file_exits(){
	local f=""
	[[ -f "$f" ]] && return 0 || return 1
}
# 如果没有提供文件名,则调用函数usage
[[ $# -eq 0 ]] && usage
 
# 调用file_exits函数
if ( file_exits "" )
then
echo "File found"
else  
echo "File not found"
fi
foo bar" exit 1 }   readonly -f usage readonly -f fname

示例

创建一个名为file.sh的shell脚本:

##代码##
Bash Shell脚本函数

什么是shell函数?
在Linux中如何创建shell脚本函数?

函数是shell脚本中的子程序或者子脚本。
用于将复杂的脚本分解成单独的任务。
从而提高脚本的整体可读性和易用性。
和其他编程语言不同,shell函数无法返回值。他们返回状态码。

日期:2019-11-20 08:53:03 来源:oir作者:oir