$ ffmpeg -v debug ...
彩色输出。
$ ffmpeg -v debug ... |& less -R
输出迟钝。
如何在将输出通过管道传输到某物时使输出着色?
答案1
对于没有类似于 的选项的命令--color=always
,您可以执行以下操作,例如,使用您的示例:
script -c "ffmpeg -v debug ..." /dev/null < /dev/null |& less -R
它的作用script
是在终端会话中运行命令。
编辑:如果您希望能够提供一个数组,而不是命令字符串,那么以下 zsh 包装器脚本似乎可以工作:
#!/usr/bin/env zsh
script -c "${${@:q}}" /dev/null < /dev/null |& less -R
答案2
作为 的替代方案script
,它期望命令行作为字符串而不是普通数组,有一种特殊的模式雷普特尔:
reptyr -L ffmpeg -v debug ... < /dev/null |& less -R
请注意,并非所有版本都有reptyr
工作-L
选项并优雅地接受< /dev/null
。请参阅我的拉取请求。