代码之家  ›  专栏  ›  技术社区  ›  Dazcii

回显输出与预期的格式化输出不同

  •  1
  • Dazcii  · 技术社区  · 7 年前

    Screenshot of the terminal appearance

    它应该输出粗体和带下划线的文本,但不是使其粗体,而是提供“更亮”的颜色变体,并将带下划线的代码(4)视为青色,从而生成浅青色文本。

    我在Windows7电脑上使用Cygwin的Bash。

    enter link description here

    2 回复  |  直到 7 年前
        1
  •  2
  •   matzeri    7 年前

    看起来您是通过旧的cygwin.bat运行bash,所以您使用的是Windows控制台作为终端,而不是通过更高级的默认Mintty终端。

    默认情况下,Cygwin安装程序在windows菜单中安装“Cygwin终端”条目

    菜单项的内容如下

    C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -
    

    路径式

    C:\cygwin64\bin
    

    有两个框条目:


    将图标添加到“开始”菜单

    如果启用它们,将重新创建它们

        2
  •  1
  •   Matias Barrios    7 年前

    ## NORMAL
    export NORMAL=$(tput sgr0)
    
    ## FOREGROUND
    export FGBLACK=$(tput setaf 0)
    export FGRED=$(tput setaf 1)
    export FGGREEN=$(tput setaf 2)
    export FGYELLOW=$(tput setaf 3)
    export FGBLUE=$(tput setaf 4)
    export FGMAGENTA=$(tput setaf 5)
    export FGCYAN=$(tput setaf 6)
    export FGWHITE=$(tput setaf 7)
    export FGBRIGHT=$(tput bold)
    export FGNORMAL=$(tput sgr0)
    export FGBOLD=$(tput bold)
    
    ## BACKGROUND
    export BGBLACK=$(tput setab 0)
    export BGRED=$(tput setab 1)
    export BGGREEN=$(tput setab 2)
    export BGYELLOW=$(tput setab 3)
    export BGBLUE=$(tput setab 4)
    export BGMAGENTA=$(tput setab 5)
    export BGCYAN=$(tput setab 6)
    export BGWHITE=$(tput setab 7)
    
    ## SHAPE
    export SHUNDERLINE=$(tput smul)
    export SHBOLD=$(tput bold)
    export SHSBOLD=$(tput smso)
    

    因此,我可以轻松地在命令行或脚本中使用它。例如:

    #!/bin/bash
    
    echo "This is ${FGRED}foreground red${NORMAL}"
    echo "This is ${BGRED}background red${NORMAL}"
    echo "This is ${FGYELLOW}${BGRED}background red and foreground yellow${NORMAL}"
    echo "This is ${SHUNDERLINE}underlined${NORMAL}"
    echo "This is ${FGCYAN}${SHUNDERLINE}cyan underlined${NORMAL}"
    echo "This is ${SHBOLD}bold${NORMAL}"
    echo "This is ${SHUNDERLINE}${SHBOLD}underlined bold${NORMAL}"
    echo "This is ${FGBLUE}${SHBOLD}blue bold${NORMAL} and this ${FGBLUE} normal blue${NORMAL}"
    echo "This is ${SHSBOLD}standout bold${NORMAL}"
    

    enter image description here

    希望它对你有用!

    推荐文章