linux - 将数据作为字节发送到 bash 中的管道

标签 linux bash

我最近花了一些时间尝试使用 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/

相关文章:

python - 将密码发送到命令行工具

linux - 为什么双引号会影响 linux 中这些 echo 语句的打印?

Bash case 语句在无效输入时重新启动

c++ - 按升序从消息队列中读取数据

linux - 正确的用户输入 - x86 Linux 程序集

bash - 如何删除 bash 中字符后的所有文本?

arrays - 在 for 循环中设置命令

linux - 在 Bash shell 中获取和使用带有特殊字符的密码

linux - 是否可以对 QTreeWidget 列中的数字进行排序?

node.js - Node : error while loading shared libraries: libstdc++. so.6:无法打开共享对象文件:没有这样的文件或目录