Я использую следующий скрипт bash для объединения различных архивов gzip:
wget -O bluelvl1.gz http://list.iblocklist.com/?list=ydxerpxkpcfqjaybcssw&fileformat=p2p&archiveformat=gz
wget -O bluelvl2.gz http://list.iblocklist.com/?list=gyisgnzbhppbvsphucsw&fileformat=p2p&archiveformat=gz
wget -O badpeer.gz http://list.iblocklist.com/?list=cwworuawihqvocglcoss&fileformat=p2p&archiveformat=gz
wget -O microsoft.gz http://list.iblocklist.com/?list=xshktygkujudfnjfioro&fileformat=p2p&archiveformat=gz
wget -O unallocated.gz http://list.iblocklist.com/?list=gihxqmhyunbxhbmgqrla&fileformat=p2p&archiveformat=gz
cat bluelvl1.gz bluelvl2.gz badpeer.gz microsoft.gz unallocated.gz > blocklist.p2p.gz
У меня проблема в том, что команда "cat" создает "blocklist.p2p.gz", в котором ничего нет. Я считаю, что проблема вызвана тем, что Bash не ждет, пока wget завершит загрузку.
Я верю в это, потому что, если я копирую и вставляю каждую строку в командную строку по одному (и лично жду окончания загрузки), Cat создает объединенный архив, как я и ожидал. Если я скопирую все шесть приведенных выше строк из сценария, а затем вставлю весь лот в ту же командную строку, я вижу ту же проблему, что и сценарий.
Так есть ли способ заставить Bash ждать завершения wget? Должен ли Bash ждать по умолчанию, и что-то приводит к тому, что этого не происходит? Я был бы очень признателен за решение.
РЕДАКТИРОВАТЬ: Согласно комментариям ниже, правильный скрипт для использования:
wget -O bluelvl1.gz "http://list.iblocklist.com/?list=ydxerpxkpcfqjaybcssw&fileformat=p2p&archiveformat=gz"
wget -O bluelvl2.gz "http://list.iblocklist.com/?list=gyisgnzbhppbvsphucsw&fileformat=p2p&archiveformat=gz"
wget -O badpeer.gz "http://list.iblocklist.com/?list=cwworuawihqvocglcoss&fileformat=p2p&archiveformat=gz"
wget -O microsoft.gz "http://list.iblocklist.com/?list=xshktygkujudfnjfioro&fileformat=p2p&archiveformat=gz"
wget -O unallocated.gz "http://list.iblocklist.com/?list=gihxqmhyunbxhbmgqrla&fileformat=p2p&archiveformat=gz"
cat bluelvl1.gz bluelvl2.gz badpeer.gz microsoft.gz unallocated.gz > blocklist.p2p.gz