Открыть URL из скрипта Bash

У меня есть текстовый файл

Google.com
Youtube.com
Gmail.com
Yahoo.com

Я пытаюсь открыть их с помощью Lynx. Вот тезис.

Я сохраню все эти ссылки в текстовом файле, скажем, links.txt, а затем мне нужно открыть их с помощью Lynx, а затем прекратить Lynx с помощью kill.

Здесь код, который я написал, но он не верен

for i in links.txt
do
lynx $i
sleep 10
pkill lynx
done

Что здесь не так?

3
задан 11 October 2013 в 12:04

2 ответа

После нескольких итераций ...

for url in $(cat links.txt); do
    timeout 10 lynx "$url"
done

Lynx блокирует (и должен работать), поэтому сон не работает должным образом, и он также пытается захватить stdin, что затрудняет интересную работу по трубам. Смотрите здесь для итерации строк в файле .

Lynx может немного раздражать своими подсказками о разрешении использования файлов cookie. Вы можете либо изменить его настройки, если это проблема, либо вы можете передать флаг -accept_all_cookies, например, так:

for url in $(cat links.txt); do
     timeout 10 lynx -accept_all_cookies "$url"
done

Сегодня я узнал о команде timeout, поэтому я счастлив. [ 119]


Чтобы напечатать статус в конце, я могу посмотреть, как проверить URL-адрес отдельно, например, так:

for url in $(cat links.txt); do
     timeout 10 lynx -accept_all_cookies "$url"
     if [[ $(curl -o /dev/null --silent --head --write-out '%{http_code}\n' "$url") -eq "200" ]]; then
        echo "Getting $url successful"
     else
        echo "Getting $url unsuccessful"
     fi
done
0
ответ дан 11 October 2013 в 12:04

В вашем скрипте вызов lynx блокирует терминал, и он никогда не вызовет sleep 10 и pkill, потому что lynx завершается, когда вы нажимаете «Q».

Так что я бы предпочел что-то другое. Почему бы вам не использовать wget. Примерно так:

for url in $(cat links.txt); do
  wget -qO- $URL
  sleep 1
done

wget завершает работу после загрузки ссылки. Lynx больше похож на браузер с интерактивной консолью (он блокирует терминал), он не предназначен для скриптов.

0
ответ дан 11 October 2013 в 12:04

Другие вопросы по тегам:

Похожие вопросы: