bash shell 管道的别名抛出错误

bash alias for shell pipe throws errors

我从 https://superuser.com/questions/401133/pipe-output-of-awk-to-kill-9 改编了以下管道命令以在重新加载 Microsoft 用户数据库后退出 所有 Microsoft 好东西

ps -Acx | grep Microsoft | awk '{print }' | xargs kill

这和广告一样有效,但是当我使用别名时

psm="ps -Acx | grep Microsoft | awk '{print }' | xargs kill"

我遇到很多错误,例如

kill: illegal process id: ??<br>
kill: illegal process id: 0:05.40<br>
kill: illegal process id: Microsoft<br>
kill: illegal process id: Excel<br>
kill: illegal process id: ??<br>
kill: illegal process id: 0:00.04<br>
kill: illegal process id: Microsoft<br>
kill: illegal process id: AU<br>
kill: illegal process id: Daemon<br>
kill: illegal process id: ??<br>
kill: illegal process id: 0:17.95<br>
kill: illegal process id: Microsoft<br>
kill: illegal process id: PowerPoint<br>

有人可以解释这里出了什么问题吗?

谢谢 - 哈拉尔 -

你应该在别名中引用 $

psm="ps -Acx | grep Microsoft | awk '{print $1}' | xargs kill"