我相信|是用来提供一个程序的输出作为另一个程序的输入。所以我试了一下kill | pgrep dnsspoof,但没成功。所以我试着
kill `pgrep dnsspoof`而且起作用了。有人能告诉我这些命令是如何内部工作的吗?
发布于 2016-12-07 06:26:18
关于|,您是正确的,但是您正在以相反的方式运行该命令,您应该运行pgrep dnsspoof,然后将其输出发送给kill,但它不接受标准输入的命令,他们希望在命令的参数中列出这些命令,因此您必须使用xargs来读取STDIN流数据,并将每一行转换为空格分隔的参数到命令:
pgrep dnsspoof | xargs kill但以您的方式,您将kill命令的输出作为pgrep dnsspoof的输入,这是毫无意义的。
https://unix.stackexchange.com/questions/328585
复制相似问题