Grep
在 find 的 -exec 選項中為 grep 起別名
我有這些別名
~/.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
將始終生成一個執行二進製文件的單獨程序,既不是別名也不是硬編碼的函式。