【问题标题】:Check if a list of urls exist or not in bash with curl使用 curl 检查 bash 中是否存在 url 列表
【发布时间】:2018-05-06 23:31:43
【问题描述】:

我正在尝试检查 url 列表是否有效。我正在尝试这个 Bash,但我没有得到正确的语法。

for url in $(cat domains.txt) 
do curl --output /dev/null --silent --head --fail "$url"; then
  echo "URL exists: $url"
else
  echo "URL does not exist: $url"
done

谁能帮帮我?

【问题讨论】:

    标签: bash curl syntax-error


    【解决方案1】:

    您缺少一个 if(和相应的 fi)来使您的代码正常工作。

    #!/bin/bash
    for url in $(cat domains.txt) 
    do 
      if curl --output /dev/null --silent --head --fail "$url"; then
        echo "URL exists: $url"
      else
        echo "URL does not exist: $url"
      fi 
    done
    

    【讨论】:

    【解决方案2】:

    你也可以让脚本检查每个 url,如果是重定向,给你重定向的 url:

    #!/bin/bash
    for URL in $(cat urls.txt) ; do 
    res="$(curl --silent --head --location --output /dev/null --write-out '%{http_code}'  $URL | grep '^2')"
    if [[ $res == 200 ]]; then
    curl -s -L -I -o /dev/null -w $URL' -> %{url_effective}\n' $URL;
    else
    echo "$URL -> "does not exist""
    fi 
    done
    

    `

    【讨论】:

      猜你喜欢
      • 2011-12-25
      • 2015-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 2011-02-06
      相关资源
      最近更新 更多