在脚本中分叉进程,每个进程的输出使用不同的颜色

在脚本中分叉进程,每个进程的输出使用不同的颜色

我有一个对 4 个文件夹进行操作的脚本。

因为它们完全独立,所以我将文件夹路径传递给一个函数,然后分叉该函数。它可以工作,但控制台的输出是一场难以阅读的灾难。

主要问题是我无法分辨哪些文件夹已处理完毕、哪些文件夹仍在处理中。

我想到解决这个问题的一个方法是根据文件夹为输出分配颜色 - 红色、绿色、蓝色和黄色。这个想法是,当只有红色输出时,我知道只有文件夹 1 仍在处理中。

我使用 Google 搜索的所有关于在 bash 中设置颜色的信息都涉及使用 echo 或为 grep 和 ls 等特定函数传递颜色。

有没有办法函数开始时的颜色?

set_color()
{
   ??
}

process_folder()
{
   set_color $2
   ...
}

#in a loop, process my folders using process_folder $folder $color

答案1

有没有办法在函数开始时设置颜色?

有可能的,

echo -e "\e[00;31mRED"

但这可能会混合颜色,使内容更难阅读。只对输出进行着色。

echo -e "\e[00;31mRED\e[00m"

相关内容