透過腳本呼叫 grep 時顏色遺失

透過腳本呼叫 grep 時顏色遺失

這是一個簡單的 grep 包裝器,用於搜尋 Git 儲存庫。由於某種原因,當透過 bash 腳本呼叫 grep 時,顏色消失了。我如何解決它?

在此輸入影像描述

我正在使用這個命令

grep $1 . -R --exclude-dir=.git --line-number

答案1

當您grep在終端中運行時,它會顯示顏色,因為您的預設別名~/.bashrc

alias grep='grep --color=auto'

~/.bashrc僅由互動式 shell 提供。當您執行腳本時,它會在非互動式 shell 中執行,因此別名不可用。

若要保留顏色,請將--color=auto標誌新增至grep腳本內的命令:

grep $1 . -R --exclude-dir=.git --line-number --color=auto

相關內容