grep
不允许按
grep --color='1;32'
(1表示粗体,32表示绿色)。它必须使用GREP_COLOR
export GREP_COLOR='1;32'
然后使用grep --color
我们如何为grep别名或编写函数,以便我们有2个版本的grep(比如grep和grepstrong),一个用于通常的绿色字体,另一个用于绿色字体黑色(或白色)背景?
alias grep='export GREP_COLOR="1;32"; grep --color'
如果我们使用,将无效
grep some_function_name | grep 3
然后上面的别名将生成grep的结果,并输入export
,所以第二个grep根本不会得到任何输入而只是在那里等待。
答案 0 :(得分:7)
使用bash,您可以通过在命令前添加“key = value”对来为单个命令设置环境变量:
GREP_COLOR='1;32' grep --color <whatever>
示例:
echo foo | VAR=value bash -c 'read line; echo $VAR: $line'
所以在你的情况下,只需说:
alias grep='GREP_COLOR="1;32" grep --color'
答案 1 :(得分:0)
你把它放在你的.bashrc文件中吗?就这样做:
export GREP_COLOR="1;32"
alias grep='grep --color'
你应该好好去
答案 2 :(得分:0)
使用Sean的答案,grepstrong
的别名需要转义grep,以便它不会使用绿色字体颜色调用grep。
alias grep='GREP_COLOR="1;32" grep --color'
alias grepstrong='GREP_COLOR="1;34;46" \grep --color'