shell 脚本中的八位字节二进制格式

shell 脚本中的八位字节二进制格式

我将 ip add ect: 10.0.0.0/4 剪切成八位字节,然后当我将八位字节更改为二进制时,它只显示为 1010 而不是 00001010,我怎样才能使用像 00001010 这样的八位字节格式输出。我已经尝试过

#!/bin/bash
y=00000000 
o="$(echo "obase=2; 10" | bc)"
echo "ibase=2;obase=2; $y+$o" | bc -l

但输出仍然是1010

答案1

您可以使用以下命令对输出进行零填充printf

$ printf '%08d\n' $(echo "obase=2; 10" | bc)
00001010

相关内容