我想滚动一个八进制数列表并打印出它们的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代码?
答案 0 :(得分:0)
根据sh(1)
联机帮助页,printf在转义八进制代码时不需要前导0。它只是printf '\100'