Cat-God-007

导航

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

30.jpg

感谢大家,点赞,收藏,关注,评论!

posted on 2022-06-03 06:56  CatGod007  阅读(0)  评论(0)    收藏  举报  来源