我最近花了一些时间尝试使用bash将一些数字作为字节写入管道(例如10作为0xA,而不是0x310x30)。不幸的是,我无法做到这一点,不得不将脚本重写为Python。有什么方法可以在bash脚本中将数据作为字节而不是字符发送?

最佳答案

正如chepner所说,您可以输出任何值,例如:$'\012'。因此,一个简短的脚本:

convert() {
    printf \\$(printf '%03o' $1)
}
convert 122 | od -bc

右边的打印将把十进制参数转换为八进制数,第二个打印将如上所述打印八进制数。十进制65将转换为字节“A”。

关于linux - 将数据作为字节发送到bash中的管道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11128226/

10-10 12:44