【问题标题】:Automatically appending --exclude-dir=xxxx (multiple dirs) to grep bash command?自动将 --exclude-dir=xxxx (多个目录)附加到 grep bash 命令?
【发布时间】:2013-11-07 18:35:51
【问题描述】:

我想自动排除几个第 3 方库文件夹,这样我就不必每次都重新输入。如何完成这样的任务?

【问题讨论】:

    标签: linux bash profile


    【解决方案1】:

    您可以创建别名

    alias grep='grep --exclude-dir=xxxx'
    

    您将添加到您的.bashrc,或设置一个环境变量

    export  GREP_OPTIONS='--exclude-dir=xxxx'
    

    您将添加到您的.bash_profile

    请注意,别名仅在命令行的开头起作用(行首,或在管道之后,或左括号等)。因此,例如,... | xargs grep ... 不会使用别名。相比之下, env 变量将被尊重,它可能有如下所述的缺点。

    【讨论】:

    • 应该补充一点,虽然非常方便,但应该非常小心地使用 GREP_OPTIONS,因为从命令行运行的所有 shell 脚本都会继承它,并且可能不需要取消设置它。我看到有人通过将-n 添加到 GREP_OPTIONS 来破坏脚本,这会改变 grep 的输出。
    • 我会给你答案,但是当把它放在我的 ~/.bash_aliases 文件中时它对我不起作用,该文件包含如下:# 别名定义。 # 您可能希望将所有添加到一个单独的文件中,例如 # ~/.bash_aliases,而不是直接在此处添加它们。 # 参见 bash-doc 包中的 /usr/share/doc/bash-doc/examples。如果 [ -f ~/.bash_aliases ];然后 。 ~/.bash_aliases fi
    【解决方案2】:

    您可以为 grep 设置别名以始终包含该参数。在你的~/.bashrc

    alias grep="grep --exclude-dir=xxxx"
    

    【讨论】:

      猜你喜欢
      • 2013-08-23
      • 2015-01-03
      • 2021-04-01
      • 2014-06-11
      • 1970-01-01
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      相关资源
      最近更新 更多