Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 命令行实用程序:如何使其正确?_Unix_Command Line - Fatal编程技术网

Unix 命令行实用程序:如何使其正确?

Unix 命令行实用程序:如何使其正确?,unix,command-line,Unix,Command Line,我有几个问题: 如果有一个错误必须显示给客户端-使用STDERR流而不是STDOUT是一件好事?还是一个微不足道的问题 我想为该实用程序的输出消息添加颜色支持。我必须使用一些环境容忍的框架吗?(它可以是256色模式和“纯”模式)。或者如何让它变得宽容 我害怕给输出添加颜色,因为客户端可能会将输出重定向到日志文件。它能因此“破坏”任何东西吗 请帮助我以UNIX的方式构建这个实用程序(做一件事并做好)由于以下几个原因,对于错误,STDERR比STDOUT更好。重定向输出不会对您隐藏错误。您可以防止警

我有几个问题:

  • 如果有一个错误必须显示给客户端-使用STDERR流而不是STDOUT是一件好事?还是一个微不足道的问题

  • 我想为该实用程序的输出消息添加颜色支持。我必须使用一些环境容忍的框架吗?(它可以是256色模式和“纯”模式)。或者如何让它变得宽容

  • 我害怕给输出添加颜色,因为客户端可能会将输出重定向到日志文件。它能因此“破坏”任何东西吗


  • 请帮助我以
    UNIX的方式构建这个实用程序(做一件事并做好)

    由于以下几个原因,对于错误,STDERR比STDOUT更好。重定向输出不会对您隐藏错误。您可以防止警告与输出混合,这在某些情况下更容易解析/处理

    您可能需要查看curses库,它应该支持ANSI颜色集


    ls
    这样的实用程序将检测其输出是否被重定向,并删除颜色代码,以便日志文件等不会被阻塞。您也应该这样做。

    由于以下几个原因,STDERR在错误方面优于STDOUT。重定向输出不会对您隐藏错误。您可以防止警告与输出混合,这在某些情况下更容易解析/处理

    您可能需要查看curses库,它应该支持ANSI颜色集


    ls
    这样的实用程序将检测其输出是否被重定向,并删除颜色代码,以便日志文件等不会被阻塞。您也应该这样做。

    使用STDERR。至于颜色,在打印颜色之前检查输出是否为tty可以减轻您的担忧。在初始化过程中,进行一项检查,动态启用或禁用颜色。使用
    --color=[on | off | auto]
    标志也是一种很好的做法,用户可以通过该标志显式地选择一个

    使用标准。至于颜色,在打印颜色之前检查输出是否为tty可以减轻您的担忧。在初始化过程中,进行一项检查,动态启用或禁用颜色。使用
    --color=[on | off | auto]
    标志也是一种很好的做法,用户可以通过该标志显式地选择一个