Fel*_*rez 18 shell loops while-loop
#I used to have this, but I don't want to write to the disk
#
pcap="somefile.pcap"
tcpdump -n -r $pcap > all.txt
while read line; do
ARRAY[$c]="$line"
c=$((c+1))
done < all.txt
Run Code Online (Sandbox Code Playgroud)
以下无法正常工作.
# I would prefer something like...
#
pcap="somefile.pcap"
while read line; do
ARRAY[$c]="$line"
c=$((c+1))
done < $( tcpdump -n -r "$pcap" )
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索结果太少(不明白,我想找到:(什么的).我想保持它Bourne兼容(/ bin/sh的),但它并不具备如此.
Ama*_*dan 21
这是sh
兼容的:
tcpdump -n -r "$pcap" | while read line; do
# something
done
Run Code Online (Sandbox Code Playgroud)
但是,sh
没有数组,所以你不能拥有像它一样的代码sh
.别人都在说正确的都bash
和perl
是时下相当普遍的,你可以在他们是可用非古系统大都数.
更新以反映@Dennis的评论
Ign*_*ams 18
这适用于bash:
while read line; do
ARRAY[$c]="$line"
c=$((c+1))
done < <(tcpdump -n -r "$pcap")
Run Code Online (Sandbox Code Playgroud)