我最近花了一些时间尝试使用 bash 将一些数字作为字节写入管道(例如 10 as 0xA
, not 0x310x30
)。不幸的是,我无法这样做,不得不将脚本重写为 Python。有什么方法可以在 bash 脚本中以字节而不是字符的形式发送数据?
问问题
1877 次
2 回答
2
bash
您可以在using$'...'
语法中指定任意字符。$'\012'
$'\x0a'
分别是八进制和十六进制的十进制值 10 的字节。请参阅bash
引用下的手册页。
于 2012-06-20T21:15:26.073 回答
2
正如 chepner 所说,您可以输出任何值,例如:$'\012'。所以,一个简短的脚本:
convert() {
printf \\$(printf '%03o' $1)
}
convert 122 | od -bc
正确的打印将十进制参数转换为八进制数,第二次打印将打印八进制数,如上...例如十进制 65 将转换为字节'A'。
于 2012-06-20T22:48:48.407 回答