ASN.1 octet string转化小脚本

可参考ASN.1关于octet string的介绍。

[bash]

!/bin/bash

i=1;
while(($i<=${#1}))
do
printf "%d" "'$(expr substr $1 $i 1)"
if (($i != ${#1}))
then
echo -n '.'
fi
i=$((i+1))
done
echo
exit 0
[/bash]

上面使用了一个鲜为人知的小技巧,而且不仔细看也不太容易察觉。

此脚本可以这么用(假设此脚本被存为to_string.sh):

$ snmpwalk -v2c -c test 192.168.90.72 .1.3.6.1.4.1.8072.1.3.2.4.1.2.${#STRING}.$(./to_string.sh $STRING).1