我有我的bash腳本它打印了很多標準輸出信息的複雜的命令。這個命令很複雜,需要一些時間才能完成,但完全正常工作。與此同時,我使用的是管道與三通它被寫入到一個解析後任務的文件。Bash。使用ccze不改變數據解析
cmd="myComplexCommand | tee /dev/fd/5"
exec 5>&1
stored_output=$(eval "${cmd}")
直到這裏一切正常。現在
,我試圖實現ccze上色屏輸出。通常在任何命令上使用它都很簡單:
anyCommand | ccze -A
而且所有東西都以美顏色方式打印。問題是,如果我嘗試將其應用到我的特殊情況下,使用管ccze我myComplexCommand後,屏幕上的輸出彩色(太好了!),但它改變了存儲在我想在我的崗位解析文件輸出-parse任務,它不起作用。
有打印的文件(不ccze修改)在屏幕上,並在同一時間它店使用ccze的美容方式的命令後解析它一擊呢?
BTW,使用'eval'這裏是一個嚴重的代碼味道。使用函數來存儲代碼的更好的做法是:'cmd(){myComplexCommand | tee/dev/fd/5; }',然後調用'cmd'。 –