想要创建自定义命令并能够向其传递参数

想要创建自定义命令并能够向其传递参数

所以我有以下命令,我在服务器上经常使用它

ps aux | grep someword | awk '{print $2}' | xargs kill -9

我想要的是给这个命令创建别名,并能够将参数传递给它,这些参数将被放置在someword 这样的位置

killstuff proxy

这将导致

ps aux | grep proxy | awk '{print $2}' | xargs kill -9

答案1

为何这么复杂?

pkill -f proxy

这里,pkill采用一个名为的参数-f来在进程名称中搜索模式(更具体地说,/proc/pid/cmdline)。

您还可以告诉它使用另一个信号,如pkill -9 -f proxy

除此之外,您还想使用带有一个参数的 shell 函数 - 但这非常简单,如果使用不当可能会导致大量进程被终止:

killstuff() {
  ps aux | grep "$1" | awk '{print $2}' | xargs kill -9
}

相关内容