[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:57888] Re: How bash script can know wget result ?



NOKUBI Takatsugu さん、丁寧なお応えを有難うございます。

NOKUBI Takatsugu さんの [debian-users:57886] を頂く直前まで
[debian-users:57887] の質問にかかっていて、気が付かず、
前後してしまいました。

頂いたご指摘を咀嚼するのに少し時間が必要です。
wget の info ゃ Perl の script 解読にも挑戦してみます。(できるかな)

Perl の場合は、access する対象を -d (display) することが目的だから、
tar ball のようなものは error になるのかなぁ、などと悩んでいましたが、
もっと基本から理解する必要がありそうです。
有難うございます。

-- Tanimura@Osaka

On 15/12/02 8:36, NOKUBI Takatsugu wrote:
> At Tue, 1 Dec 2015 07:54:04 +0900,
> tanimura wrote:
>> # それにしても、Capital letter の head の存在すら知りませんでした。
>   HEADはlibwww-perlのリファレンス実装で、他にGET, POSTもあります。
>
>  wgetに関しては、manよりもinfoを読んだ方が良いです。info wgetのExit
> Statusの項目を見ると、いくつか気になる記述が並んでいます。
>
> 8
>      Server issued an error response.
> (略)
>    In versions of Wget prior to 1.12, Wget's exit status tended to be
> unhelpful and inconsistent. Recursive downloads would virtually always
> return 0 (success), regardless of any issues encountered, and
> non-recursive fetches only returned the status corresponding to the
> most recently-attempted download.
>
>   たとえば wget -q --spider http://localhost/no-such-file 等を実行する
> とちゃんと8を返します。一方で、ftpに対し--spiderではなく実際に取得を試
> みると同じように8を返しました。
>
> $ wget -q -O /dev/null 'ftp://ftp.gnu.org/gnu/binutils/binutils-x.xx.x..tar.bz2'
>  echo $?
> 8
>
>   ソースを追いかけて行った結果、ftpでspiderモードの時はファイルの存在の
> 結果にかかわらずサーバーステータスは正常であったとして処理するようになっ
> ているようです(src/ftp.cのgetftp(), if (opt.spider)の辺り)。これはバグ
> なのでは…同様の報告も見当たりませんし、git masterでも状況は同じだった
> ので、バグ報告しておきました。
>
>   -O /dev/nullだと実際に取得を試みるのであまりよろしくないです。
>
>