核心思想:1)拼出16进制字符串
2) shell中变量都是字符串
printf "\x""3A"
array(0x12 0xAB 0xCD)
sendarray()
{
hex=(0 0)
hexindex=0
for var in ${array[@]}
do
val_h=$[ (($var)) / 16 ]
val_l=$[ (($var)) % 16 ]
hexindex=0
for hex_value in $val_h $val_l
do
case $hex_value in
10)
tmp=A
;;
11)
tmp=B
;;
12)
tmp=C
;;
13)
tmp=D
;;
14)
tmp=E
;;
15)
tmp=F
;;
*)
tmp=$hex_value
;;
esac
hex[(($hexindex))]=$tmp
let hexindex=$hexindex+1
done
echo '$hex'
echo ${hex[0]}${hex[1]}
printf "\x"${hex[0]}${hex[1]}
done
}