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 根本不会获得任何输入,只是在那里等待。
最佳答案
使用 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'
关于bash - 在 Bash 中,如何为 "export GREP_COLOR=' 1;3 2'; grep --color"编写别名或函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3420845/