#!/bin/sh
function split() {
raw=$1
length=`expr ${#raw}`
if [ `expr $length % 2` -ne 0 ]; then
raw="0"$raw
length=`expr $length + 1`
fi
for i in $(seq `expr $length / 2`); do
idx=`expr $i - 1`
offset=`expr $idx \* 2`
bytes[i-1]=${raw:$offset:2}
done
}
split $1
echo ${bytes[@]}
echo ${#bytes}
为什么${#bytes}返回的总是2??