Answers:
xprop ... | sed ...首先执行,然后cat读取其输出。由于使用了反引号,因此cat的输出被替换为ps `cat`,命令变为ps 1000。
导致相同结果的替代命令是:
ps $(xprop _NET_WM_PID | cut -d= -f2)
其工作原理如下:
执行xprop _NET_WM_PID以检索窗口的进程ID。单击窗口后,它输出如下内容:
_NET_WM_PID(CARDINAL) = 12345
=第二个字段。从标准输入cut -d= -f2获取_NET_WM_PID(CARDINAL) = 12345字符串,然后写入12345标准输出。ps命令$(...)替换输出...,执行的命令是ps 12345。(旁注:`...`也可以代替$(...),尽管有一些区别)
| command 'cat'(我不能在评论的反引号中插入反引号吗?)……通常的方式是:(| xargs command带有xargs的附加参数,例如限制为1或n个参数,等等)