For how to use the function call in shell, see the following code example:
#!/bin/bash# value initExP="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 targetfunction 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 targetMd5function 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 herefunction Main(){ echo "Imagation GPU Version test run ..."; LoopEx "$ExP" $loop_count $targetMd5}Main;
You can use this template to write other simple scripts later.