for name in `cat textfile`; do curl -s -o /dev/null --write-out %{http_code} $name 2>&1 ; echo -e "\n"; done
wyjaśnienie:
for url in `cat textfile`
Za pomocą polecenia wypisz wszystkie wpisy do pliku tekstowego cat
i udostępnij bieżący wskaźnik za pośrednictwem url
zmiennej.
curl -s -o /dev/null --write-out %{http_code} $url 2>&1
Wywołaj cURL i pomiń status postępu za pomocą przełącznika -s
, napisz dowolne wyjście /dev/null
(jest to czarna dziura, w którą możesz wrzucić wszystko) -o
, a następnie użyj, --write out %{http_code}
aby dać ci kod powrotu dla każdego linku, który robisz, odłóż bieżący link za pomocą $url
i przekieruj STDERR do STDOUT za pomocą 2>&1
(w przypadku, gdy wystąpią jakiekolwiek błędy). Następnie...
; echo -e "\n"
Echo w nowej linii, niezależnie od tego, czy ostatnia instrukcja (cały blok cURL) nie powiodła się.
`; done
Zakończ pętlę.
Prawdopodobnie nie jest to to, czego chciałeś, ponieważ drukuje tylko kody powrotu.