Shell脚本编程学习笔记(六)---- 函数
本文已参与[新人创作礼]活动,一起开启掘金创作之路。
函数
shell中的函数是比较高级的用法,但实际上用出不大,但用法还是有的比如,可以简化或减少代码的冗余,优化代码,再加上一些代码的注释,这样就可以使自己编写的代码可读性更强,回头来阅读时,会更好的回忆起基础的语法。
function
作用:1.自定义命令
2.避免大量的重复代码,加强可读性
3.可以只定义函数,如不调用则不被执行
1.定义函数
function定义函数
function 函数名( ){
command1
command2
.........
}
自定义函数
函数名( ){
command1
command2
.........
}
2.调用函数
函数名
注:函数调用要在定义函数之后
计算指定文件的行数
#!/bin/bash
file=/etc/passwd
function countline(){
local i=0
while read line
do
let ++i
done < $FILE
echo "$file have $i lines"
}
echo "Call function countLine is Success!!!"
countline
3.函数返回值
return 返回值
例如
#!/bin/bash
file=/etc/passwd
function countline(){
if [ -f $file ];then
return 0
else
return 1
fi
}
countline
if [$? -eq 0 ];then
echo "该文件存在 $file"
else
echo "该文件不存在 $file"
#!/usr/bin/bash
#1.function定义函数
function hello(){
echo "函数1"
exit 1 #返回码为1
}
#2.自定义函数
hello2(){
echo "函数2"
exit 2 #返回码为2
}
#3.调用函数
hello
hello2
#!/bin/bash
hello3(){
echo "这个函数会对输入的两个数字进行相加运算..."
echo "输入第一个数字: "
read aNum
echo "输入第二个数字: "
read anotherNum
echo "两个数字分别为 $aNum 和 $anotherNum !"
return $(($aNum+$anotherNum))
}
hello3
echo "输入的两个数字之和为 $? !"
函数返回值在调用该函数后通过 $? 来获得。
注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。
4.函数传参
函数名 $1 传入脚本后第一个参数(位置参数)
函数名 $* 接收所有参数的传递
使用set设置传入参数,脚本将忽略运行时传入的位置参数。
例如
#!/bin/bash
set 1 2 3 4 5 6
Count=1
for i in $@ #接收所有位置参数
do
echo "Here Count is: $i"
let Count++
done
感谢大家,点赞,收藏,关注,评论!
浙公网安备 33010602011771号