shell 如何通过bash脚本临时设置我的终端的前台/后台?

wgeznvg7  于 2022-12-30  发布在  Shell
关注(0)|答案(1)|浏览(117)

我的目标是能够给(或设置下划线等)从任何源输出终端窗口(我想如果ls工作,所有其他的也会)在需要/需要的基础上通过命令行脚本。...这里有一个给定的,一些程序可能会很好地覆盖这在他们的输出,并就这是一个容易解决这个问题的方面,这是在那里,太-在,我有点想知道这可能涉及任何答案。
我已经理解了很多背景知识,因为我现在在shell脚本中使用颜色,问题是当shell退出时,颜色不会持续存在;我在这个问题上的重点是使一些命令行实用程序的集合功能,可以让用户从一组已知命名的颜色中选择,如蓝色或红色,或者甚至只是给予正确的代码来做这件事,并在这种情况下将所有输出保留到终端窗口,直到通过命令行脚本给出重置,尽管肯定如果另一个命令实用程序,如“重置”将重置它,那就这样吧!
我相信这很可能是可能的,通过使用什么,至少对我来说是很少接触的元素的环境,如PS1。
我很少碰那些东西,我真的不知道我在那里做什么!

w41d8nur

w41d8nur1#

在Linux上,如果您使用的是响应SGR标准的滚动终端,则发送到该显示流的颜色指令将保留(持续),直到您使用“clear”命令刷新该显示流。
以下脚本的执行将说明使用一组FG/BG颜色,然后使用终端默认值,然后使用另一组FG/BG颜色:

#!/bin/sh

### Useful References:
###     https://www.ecma-international.org/publications-and-standards/standards/ecma-48/
###     https://en.wikipedia.org/wiki/ANSI_escape_code
###
###     https://www.htmlcsscolor.com/hex/FFFF80
###     https://www.w3schools.com/colors/colors_picker.asp?colorhex=FFFF00
###     https://www.colorabout.com/color/hex/ffff80/
###     https://www.color-name.com/hex/ffff80
###     https://www.cpcwiki.eu/index.php/CPC_Palette
###     https://hexcolor.co/hex/ffff80
###     https://www.colorxs.com/color/hex-ffff80
###     https://encycolorpedia.com/ffff80
###     https://www.color-hex.com/color/ffff80
###     https://www.colorcodehex.com/ffff80.html
###     http://html-color.org/FFFF80

cat >sample_text.txt <<"EnDoFiNpUt"
The original specification only had 8 colors, and just gave them names. The SGR parameters 30–37 selected the foreground color, while 40–47 selected the background. Quite a few terminals implemented "bold" (SGR code 1) as a brighter color rather than a different font, thus providing 8 additional foreground colors. Usually you could not get these as background colors, though sometimes inverse video (SGR code 7) would allow that.
EnDoFiNpUt

    FG_color="\e[91m"       ### Red
    BG_color="\e[47m"       ### Gray
    echo "${FG_color}${BG_color}" 
    cat sample_text.txt 

    echo "\e[0m"            ### Environment Default
    cat sample_text.txt 

    FG_color="\e[30m"       ### Black
    BG_color="\e[102m"      ### Green
    echo "${FG_color}${BG_color}" 
    cat sample_text.txt 
    echo "\e[0m"

将显示如下(在我的终端上):

相关问题