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;
后面写其他的简单脚本可以套用这个模板来做
Shell编程之函数调用
时间: 2024-10-13 11:19:40