美文网首页
12 - shell函数

12 - shell函数

作者: 舍是境界 | 来源:发表于2022-03-24 07:50 被阅读0次

    函数语法格式

    • 在shell环境中,将一些需要重复使用的操作,定义为公共的语句块,即可称为函数
    func 函数名 {
      命令序列
      ... ...
    }
    
    函数名(){
      命令序列
       ... ...
    }
    

    函数传递参数

    • 调用已定义的函数
      • 格式:函数名
    • 函数传值
      • 格式:函数名 值1 值2 ... ...
      • 传递的值作为函数的"位置参数"
    imsg(){echo "1"} 
    imsg
    1
    
    msg(){
    function> echo "hello world"
    function> }
    imsg  
    hello world
    
    function msg { echo "1" }
    msg
    1
    

    案例

    • 加法器
      • 传递参数计算两个数字之和
    add(){  
    function> echo $[$1+$2]
    function> }
    
    add 1 2
    3
    
    add 8 10
    18
    
    • 输出颜色
    #!/bin/bash
    cecho(){
      echo -e "\033[$1m$2\033[0m"
    }
    
    cecho 31 OK
    cecho 32 OK
    cecho 33 OK
    cecho 34 OK
    
    • 多进程版ping测试
    #!/bin/bash
    myping() {
      ping -c -i0.2 -W1 $1 &>/dev/null
      if [ $? -eq 0 ]; then
        echo "$1 is up"
      else
        echo "$1 is down"
      fi
    }
    
    for i in {1..254}
    do
      myping "191.168.4.$i" &
    done
    wait #使用&符号,将执行的函数放入后台执行,wait等待所有后台进程结束后退出脚本
    

    小结

    • 定义韩式
    函数名(){
      命令
    }
    
    • 调用函数
    函数名
    

    -案例

    • 熟悉函数基本语法
    • 编写加法器
    • 输出颜色
    • 编写多进程版本的ping脚本

    相关文章

      网友评论

          本文标题:12 - shell函数

          本文链接:https://www.haomeiwen.com/subject/pumpdrtx.html