是否可以使用bash或expect脚本同时或一个接一个地运行两个程序?

时间:2013-02-21 20:08:04

标签: bash scripting expect wireshark tcpdump

我基本上有两行代码:

tcpdump -i eth0 -s 65535 -w - >/tmp/Captures

tshark -i /tmp/Captures -T pdml >results.xml

如果我在不同的终端中运行它们就可以了。

但是我一直在尝试创建一个简单的bash脚本,它将同时执行它们,但没有运气。 Bash脚本如下:

#! /bin/bash
tcpdump -i eth0 -s 65535 -w - >/tmp/Captures &

tshark -i /tmp/Captures -T pdml >results.xml &

如果有人可能帮助让它工作或让它“运行tcpdump直到按下一个键,然后运行tshark。然后再按一次键关闭。”

我只有一点bash脚本编写经验。

1 个答案:

答案 0 :(得分:1)

你需要分别运行tcpdump和tshark吗?使用管道命令将tcpdump的输出提供给tshark的输入。

tcpdump -i eth0 -s 65535 | tshark -T -pdml > results.xml