为什么在 *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 所以请阅读相关命令的文档。 相关内容 使用双因素登录 Ubuntu 使用 biblatex 时参考文献不遵守页边距 从命令提示符启动 OneNote 时出错 sudo gem install merb 没有下载和安装进度,没有错误消息(根本没有文本!) 在不同服务器的表之间复制列 安装 Dolphin 模拟器时出现问题 Windows 2008 R2 文件服务器上的 DFS 复制和磁盘配额 pacman.conf 中的长 NoExtract 如何写得更短但仍易于人类阅读? 如何使脚本在执行时在两个命令之间切换? UPS 可让路由器一次运行 8 小时