如何在文件中保存15秒后输出命令?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在文件中保存15秒后输出命令?相关的知识,希望对你有一定的参考价值。

我想将命令'airodump-ng wlan0'的输出保存在一个文件中,但是在命令启动后大约15秒之后。我找到了这样的东西:

{ airodump-ng wlan0  sleep 15 ; } 2> log.txt

但我得到一个错误“airodump-ng --help”寻求帮助。

答案

我不熟悉airodump及其输出,但你可以尝试这样的东西读取它的输出并丢弃它直到15s已经过去:

#!/bin/bash

# Work out time to start output, 15s from now
((tplus15=SECONDS+15))

airodump-ng wlan0 | while read line ; do
   [ $SECONDS -gt $tplus15 ] && echo "$line"
done

如果您想在文件中输出,请在最后一个> someFile.txt之后添加done

如果airodump在其stderr上输出,你可能需要在2>&1之后添加airodump-ng wlan0,如下所示:

airodump-ng wlan0 2>&1 | while read ...
另一答案

你必须启动转储,然后等待15秒,然后杀死转储。只需在dump命令之后放入sleep命令就不会在airodump完成之后开始睡眠,这不是OP想要的。另请注意,stderr来自OP最初的想法。

#!/bin/sh

airodump-ng wlan0 2> log.txt &
sleep 15
kill %1

对我来说,这是一个比@Mark Setchell更简单的解决方案 这需要前15秒的输出,而不是15秒后的输出,因为@MarkSetchell的答案确实如此。

另一答案
#!/bin/bash
sleep 15
airodump-ng wlan0 > test.txt

它工作请看看

以上是关于如何在文件中保存15秒后输出命令?的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

如何做30秒后自动跳转网页

Linux Shell 脚本:将命令输出保存在变量/文件中?

如何将我的整个输出从iPython笔记本保存为.txt文件?

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全