将程序中多次被调用的相同代码组合起来(函数体),并为其取一个名字(函数名)
对于shell来说,linux系统中2000多个命令都可以称为shell的函数,shell的函数存在于内存中,而不是硬盘文件,同时shell还能对函数进行预处理,所以函数的启动比脚本更快
function 函数名 () { 代码 ….. return n }
1、执行shell函数时,不用带function和后面的小括号
2、函数必须先定义才能使用
3、函数中定义的变量是内部变量,不会影响函数外部相同变量的值
eg:
function test (){ echo “hello word” return$((10 *10)) } test echo $?
shell函数通过位置参数传参,如:
函数名 参数1 参数2 参数3 参数4。。。当函数执行时,$1对应参数1,$2对应参数2,以此类推。
函数中的关键字return 可以放到函数体的任意位置,通常用返回某些值,shell在执行return之后,。就停止往下执行,返回到主程序的调用行
如果函数需要参数返回,可以加return返回,将以最后一条运行结果,作为返回值
return m 跟整数值(0-255),返回值将保存到位置变量$?中
eg:输出多个变量对应的值./a.sh
#!/bin/bash function test (){ echo $1 echo $2 echo $3 echo “hello word” return $((10*10)) } test fen xiang be.com