为什么在 *nix 系统上管道 stdout/stderr 时不显示颜色(控制字符)? 2024-5-30 • stdout stderr control-characters 为什么在 *nix 系统上管道 stdout/stderr 时不显示颜色(控制字符)? 当我做: foo | bar 如果foo将颜色编码字符串(带有控制字符)写入标准输出,它们不会显示在栏中 - 有没有办法让它们显示? 答案1 为什么在 *nix 系统上管道 stdout/stderr 时不显示颜色(控制字符)? 正如评论者吉米吉,他们确实出现了。 然而,一些程序(可能是大多数程序输出ANSI 转义码s) 通过使用检测到它们的输出不是 tty伊萨蒂(3)例如作为isatty(STDOUT_FILENO);这是一个很好的功能,因为当您不想要管道中的逃逸时,处理它们是一件痛苦的事情。 有几个程序记录了一种强制执行此操作的方法,例如LS(1)有--color=always 所以请阅读相关命令的文档。 相关内容 我应该使用哪个命令来使用 ffmpeg 将 .flv 转换为 .jpeg? 安装和编译 PHP 5.4.0 的问题 分区和物理卷有什么区别? Chef = 节点属性,如何在本地管理它们、进行版本控制然后上传它们? 是否有 wget --no-check-certificate 选项的简短版本? 新手在 Ubuntu 上安装 LAMP mosh 的字符编码/UTF-8 问题 与旋转门包装相匹配的怀疑结果符号 使用 Bash 脚本将所有数据库转储到单独的文件中[重复] 更改 Zim Wiki 标题的字体颜色