如何为接受两个参数的搜索命令设置别名

如何为接受两个参数的搜索命令设置别名

我有一个 shell 命令,可以查找同时包含 2 个字符串的文件:

$ grep -rl JFL . 2>/de/null | while read n; do grep -l 20120907 "$n"; done

上面的字符串是JFL20120907

现在我想将其设置为别名,如下所示:

mysearch JFL 20120907

我如何创建这个别名?

答案1

添加以下~./bashrc内容:

mysearch () {
      grep -rl "$1" . 2>/dev/null | while read n; do grep -l "$2" "$n"; done
}

这定义了在提示符下可用作命令的函数bash。bash 中的所有参数functions都扩展为$1$2、... 就像脚本的参数一样。编辑时.bashrc不要忘记重新启动 bash(重新登录),因为 bash 在启动时会读取此文件。

相关内容