如何用参数创建bash别名?

How to create bash alias with argument?

本问题已经有最佳答案,请猛点这里访问。

我通常使用ps -elf | grep proceesname来获取名为processname的进程的详细描述。 我认为我必须为此写太多。

现在我想的是创建一个像bash一样的别名

1
alias lsps='ps -elf | grep $1'

这将仅通过使用lsps processname给出以上详细描述。

所以,我的问题是如何创建一个接受参数的bash别名。

PS:我知道我可以为上述任务编写一个shell脚本,但我只是想知道如何用bash别名来做。


非常简单;

1
alias lsps='ps -elf | grep'

命令行参数将自动添加到别名的末尾:

1
lsps arg1 arg2 arg3 => converted to => ps -elf | grep arg1 arg2 arg3

仅当您想要在别名的末尾添加参数时,这才有效。

如果要在扩展命令行中获取别名的参数,则必须使用以下函数:

例如:

1
2
3
4
lsps()
{
    ps -elf | grep"$1" | grep -v grep
}

函数和别名可以保存在~/.bashrc文件中)或包含在其中的文件中:

1
2
3
4
5
6
7
8
$ cat /tmp/.bash_aliases
lsps()
{
    ps -elf | grep"$1" | grep -v grep
}

$ . /tmp/.bash_aliases
$


用这个:

1
alias lsps='ps -elf | grep'

然后你可以发出这个:

1
lsps processname