shell脚本将dec转换为十六进制

时间:2011-01-13 06:12:19

标签: shell hex

伙计们正在编写一个shell脚本。我想将十进制数转换为2位十六进制值,例如,如果我给出它必须giv为09。 我已经做好了 for i in {0..255}; do hexa=$(echo "obase=16;$i" | bc) done 但对于前10个值,它返回单个数字的六进制值 现在应该怎么转换这个

提前致谢!!!!

3 个答案:

答案 0 :(得分:5)

您可以使用printf:

$ printf "%02x\n" 12
0c

请参阅man bash或您选择的外壳手册。

答案 1 :(得分:1)

echo "enter any number"
read num
i=2
while [ $i -lt $num ]
do
p=`expr $num % $ i`
if [ $p -eq 0 ]
then 
echo "$num is not prime number"
echo "since $num is divisible of $i"
exit
fi
i=`expr $i + 1`
echo "$num is prime number"
done

答案 2 :(得分:0)

for i in {0..255}; do 
  printf "%X\n" $i
done