我的类似包管理器的命令行工具应该将什么打印到 stdout/stderr?

我的类似包管理器的命令行工具应该将什么打印到 stdout/stderr?

我正在开发一个项目,该项目将使用任何可用的包管理器来配置新安装的操作系统。包管理器的一些示例可能apt适用于 Ubuntu、brewOSXbrew caskpacmanArch。

我想根据发生的情况向 stdout 或 stderr 显示彩色消息。我正在寻找一些关于我应该使用什么类型的颜色和内容以及我应该在哪里传输输出的指南。

稍微想了一下我想出了:

  • 状态消息可以是蓝色或无颜色,并且仅在给出-v或标志时才打印到标准输出。--verbose

    前任:

    -* installing commandline-tools
    
  • 成功消息以绿色显示并默认打印到标准输出(或者如果给出了详细标志,我不确定)

    前任:

    -* installed commandline-tools
    
  • 失败消息以红色显示并默认打印到 stderr

    前任:

    -* failed to install commandline-tools
    

欢迎提出想法和意见,但我也希望有一些明确的来源/指南

答案1

尝试这个片段,你将能够为你想要的颜色:

for i in {0..7};
do
    tput setaf $i // color next echo command
    echo "tput setaf $i"
    tput sgr0     // reset normal colors
done

我建议不是使用原始 ANSI 转义码。

相关内容