如何使用包含管道的$(xterm -e)?

时间:2014-08-19 05:17:00

标签: bash

我正在尝试在新的xterm shell中拖尾文件,然后在看到短语“Tailkill2”时终止它。

xterm -e "tail -F $PWD/$LOGFILE | { sed "/Tailkill2/ q" && pkill -P $$ tail ;} &"

为什么这不起作用?

顺便说一句,有没有办法将-e参数包装在除引号之外的其他内容中,这样就不会让人感到困惑?

1 个答案:

答案 0 :(得分:0)

您仍需要引用一些部分以确保您要发送到xterm召唤的shell的此命令是它将完全获得的。使用单引号很容易解决它。考虑将变量放在双引号周围,以防止分词和可能的路径名扩展。

xterm -e 'tail -F "$PWD/$LOGFILE" | { sed "/Tailkill2/q" && pkill -P "$$" tail; } &'