【发布时间】:2011-01-25 09:50:38
【问题描述】:
我有一个命令可以杀死一些进程,如下所示:
kill -9 `psu|grep MF1pp|grep -v grep|awk '{print $2}'`
该命令运行良好
>psu|grep MF1pp|grep -v grep|awk '{print $2}'
29390
29026
$>kill -9 `psu|grep MF1pp|grep -v grep|awk '{print $2}'`
$>psu|grep MF1pp|grep -v grep|awk '{print $2}'
当我创建如下别名并运行它时:
alias killaf="kill -9 `psu|grep MF1pp|grep -v grep|awk '{print $2}'`"
$> psu|grep MF1pp|grep -v grep|awk '{print $2}'
5487
5272
$>killaf
ksh: kill: bad argument count
给出上述错误。
谁能告诉我可能是什么问题?
【问题讨论】:
-
@benjamin 他们投票决定将其移至超级用户 - 我个人不同意,因为这显然是一个 shell 脚本问题。
-
可能是因为它与编程无关 - 它更适合 serverfault.com(系统管理员)。
-
这显然是shell引用语义的编程问题。这不是系统管理问题。任何为任何目的编写 shell 脚本(或本例中的别名)的人都可能遇到完全相同的问题。
-
另外,不要使用反引号。 $() 是一个更清晰的语法。
标签: unix shell command-line alias ksh