Shell编程之函数调用

Shell中的函数调用的使用方法见我下面的代码示例:

#!/bin/bash

# value init

ExP="adb shell /data/local/tmp/vpxdec  --yv12 --flipuv  -t 2 --md5   data/local/tmp/vp9Input/subset_function_test/Boating_1920x1080_t4_yv12_400frames_skip200.webm";
TT="adb shell ls -l /data/local/tmp/";
loop_count=2;
targetMd5="2e8698fe47dd40bf6260206416530985";

# Compare two value and output result,$1 is src,$2 is target
function Compare()
{
    #echo "Source value:$1, Target value:$2";
    if [ "$1" = "$2" ]; then
            echo "The same!";
        return 0;
    else
            echo "Different!"
        return 1;
    fi
    
}

# LoopEx: excute a programm in a loop, $1 is program,$2 is loop count, $3 is targetMd5
function LoopEx()
{
    local Ex=$1;
    local loop_count=$2;
    local target=$3;
    echo -e "Programm is $Ex \nloop_count ==$loop_count, TargetMd5==$target"
    for i in $(seq $loop_count); do
        local output=$($Ex);
        local outputMd5=${output:0:32}
        Compare $outputMd5 $target;
        if [ "$?" != "0" ]; then
            echo "Loop Break index is [$i],result MD5:$outputMd5"
            break
        fi
    done;
}

# function main, shell excute from here
function Main()
{
    echo "Imagation GPU Version test run ...";
    LoopEx "$ExP" $loop_count $targetMd5
}

Main;

后面写其他的简单脚本可以套用这个模板来做

posted @ 2014-08-12 15:55  Magnum Programm Life  阅读(528)  评论(0编辑  收藏  举报