![如何为接受两个参数的搜索命令设置别名](https://linux22.com/image/1331904/%E5%A6%82%E4%BD%95%E4%B8%BA%E6%8E%A5%E5%8F%97%E4%B8%A4%E4%B8%AA%E5%8F%82%E6%95%B0%E7%9A%84%E6%90%9C%E7%B4%A2%E5%91%BD%E4%BB%A4%E8%AE%BE%E7%BD%AE%E5%88%AB%E5%90%8D.png)
我有一个 shell 命令,可以查找同时包含 2 个字符串的文件:
$ grep -rl JFL . 2>/de/null | while read n; do grep -l 20120907 "$n"; done
上面的字符串是JFL
和20120907
现在我想将其设置为别名,如下所示:
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 在启动时会读取此文件。