问题描述
我一直在更深层次地研究 cat 命令的用法(长篇故事),我想澄清理解。
当我们 cat 二进制文件时,假设 cat 二进制文件本身:cat /usr/bin/cat
我们看到终端会稍微混乱,因为 cat
将这些解释为转义序列,这似乎归结为 {{1 }} 解释字节,但经过研究,我没有发现 cat
是如何实现这一点的。
另一个例子是一个简单的 bash 脚本,我们可以在其中执行 cat
并将其通过管道传输到 bash 中以将其作为 bash 脚本执行,这对于 python 等是相同的。
总而言之,我想知道 cat bash_script.sh | bash
在读取字节时如何解释字节,然后如何将它们打印到屏幕上。
欢迎任何帮助,提前致谢:)
解决方法
cat
不解释字节。您的终端模拟器(例如 gnome-terminal
)正在解释字节。
您可以在 console_codes
man page 中找到一些代码。不同的终端可能在它们支持的代码方面存在一些差异。
您还可以查看 this blog post 以了解如何使用代码实现各种效果,例如彩色文本。