使用printf打印ascii字符,但printf不会在Octal中打印任何100+

时间:2013-12-22 18:02:52

标签: linux printf

我想滚动一个八进制数列表并打印出它们的ASCII等价物。我可以用

做到这一点
i=48
while [ $i -le 63 ]
do
   o=`echo "obase=8; $i" | bc`
   printf "\0$o\n"
   i=`expr $i + 1`
done

但是,如果我将范围更改为64(八进制100),要打印@,printf "\0$o\n"不会识别3位八进制代码。

我应该使用什么语法与printf一起打印3位八进制数的ascii代码?

1 个答案:

答案 0 :(得分:0)

根据sh(1)联机帮助页,printf在转义八进制代码时不需要前导0。它只是printf '\100'