在中间使用参数创建别名

在中间使用参数创建别名

我想为 grep 创建一个别名,如下所示:

grep argX ~/myfile

其中 argX 是参数,而 myfile 始终相同。我该怎么做?

答案1

别名不支持位置参数,因此您需要创建一个函数(可以将其放入~/.bashrc)。如果您确实想要别名,则可以为该函数添加别名。

function grepMe(){
    grep "$1" ~/myfile
}

然后,如果由于某种原因您想要有一个别名,则可以为该函数创建一个别名:

alias grepAlias="grepMe"

答案2

别名不支持参数,但你可以编写一个小脚本并将其命名为“filegrep”

#!/bin/bash
grep "$1" /home/youruser/myfile

将脚本复制到,然后您就可以在控制台中/usr/bin运行它。filegrep argX

答案3

这里我找到了一种不使用函数的替代方法:

alias grepAlias='bash -xc '\''grep $0 ~/myfile'\'''

例如使用银搜索者

alias superlocate='bash -xc '\''ag -g $0 --hidden'\'' 2>/dev/null'

相关内容