在腳本中分叉進程,對每個進程輸出使用不同的顏色

在腳本中分叉進程,對每個進程輸出使用不同的顏色

我有一個在 4 個資料夾上運行的腳本。

因為它們是完全獨立的,所以我將資料夾路徑傳遞給函數,然後分叉該函數。它可以工作,但是控制台的輸出是一場不可讀的災難。

主要問題是我無法判斷哪些資料夾已被處理,哪些資料夾仍在處理。

我想到的解決這個問題的一種方法是根據資料夾為輸出分配顏色 - 紅色、綠色、藍色和黃色。這個想法是,當只有紅色輸出時,我知道只有資料夾 1 仍在處理中。

我所有關於在 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"

相關內容