我制作了一个生成彩色输出的 bash 脚本。从交互式 shell 调用脚本时,颜色很好。但是,如果输出在另一个脚本中处理,或通过管道传递,则不应着色(我认为)。
这个一般是怎么处理的?我应该提供一个选项来打开/关闭彩色输出,还是有办法在脚本中自动检测?最好它自动工作,我只需要最少的代码来输出彩色/非彩色,具体取决于脚本调用......
自动检测的一个问题似乎是脚本总是以非交互方式运行,所以我必须知道父 shell 的交互状态。
colors bash shell-script
bash ×1
colors ×1
shell-script ×1