wget コマンドについて

バッチファイルにおいてrpmをwgetしたあとにビルドする作業を行いたいのですが、
どうやら実行ログを見る限りwgetが終わる前にビルドが実行され、結果file not foundとなっているようです。
これを回避してwgetが終了するまでちゃんと待つ方法はありますか?
お願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/11/08 09:42:39
  • 終了:2010/11/10 00:45:18

回答(2件)

id:asuka645 No.1

あすか回答回数856ベストアンサー獲得回数972010/11/08 11:04:39

ポイント35pt

wgetやrpmコマンドご利用ということは、環境はLinuxでしょうか?

waitコマンドを使って、wgetが終わるまでウェイトをかければいいでしょう。

id:xnissy No.2

xnissy回答回数1029ベストアンサー獲得回数2032010/11/09 23:41:52

ポイント35pt

通常シェルスクリプトはwgetが終了してから次の処理に移ります。しかし、コマンドの末尾に&を付けてバックグラウンドで実行すると、終了を待たずに次の処理に進んでしまいます。まずはwgetをバックグラウンドで実行していないか、確認してみてください。

また、

wget http://example.com/hoge.rpm
rpm hoge.rpm

のように書くと(コマンドは適当です)、wgetでエラーが発生していてもビルド処理に進んでしまいます。wgetに成功した場合のみビルドを実行するには、

wget http://example.com/hoge.rpm && rpm hoge.rpm

のように、&&でコマンドを連結します。

参考:シェルスクリプトの基礎


なお、現状のバッチファイルを書かれた方が的確な回答が得られるのではないかと思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません