Grep

在 find 的 -exec 選項中為 grep 起別名

  • September 4, 2020

我有這些別名~/.bashrc

alias grep='grep --color=auto -H'
alias fgrep='fgrep --color=auto -H'
alias egrep='egrep --color=auto -H'

但是當我執行它們時它們沒有效果find ... -exec grep ...,而且我總是必須手動提供這些選項。

有沒有辦法告訴在選項的參數find中依賴別名?-exec我正在考慮配置文件,而不是其他別名。

它會在某種程度上不安全嗎?

你不能使用這樣的別名。別名僅在長命令序列中首先使用時才起作用,shell 基本上將別名文本替換為實際命令。當您輸入命令時,shell 首先搜尋別名,然後搜尋函式,依此類推。如果您在命令序列的中間使用別名,則命令替換/別名替換不起作用。

此外, , 的-exec標誌find將始終生成一個執行二進製文件的單獨程序,既不是別名也不是硬編碼的函式。

引用自:https://unix.stackexchange.com/questions/607864