Определенно, это то, что может сделать Баш.
Что касается вашего сценария, первое, что я могу вспомнить, это строка:
pcapsplitter -f file.pcapng -o destination/$i -m bpf-filter -p $tcp
где значение $tcp
на самом деле tcp port 57201
(и следующие числа в следующих раундах. Однако без кавычек вы фактически передаете tcp
только параметру -p
.
Это должно работать лучше после того, как вы изменили эту строку на:
pcapsplitter -f file.pcapng -o destination/$i -m bpf-filter -p "$tcp"
NB. В качестве общего совета обычно безопаснее использовать двойные кавычки в Bash.
NB2: вам не нужны эти 2 for
петли. Вот как я бы переписал ваш скрипт:
#!/bin/bash
for portNumber in {57201..57206}; do
destinationDirectory="destination/$portNumber"
mkdir "$destinationDirectory"
thePparameter="tcp port $portNumber"
pcapsplitter -f 'file.pcapng' -o "$destinationDirectory" -m bpf-filter -p "$thePparameter"
done