• ベストアンサー

シェルスクリプトで、ping送信の秒数を指定したい場合

UNIXのシェルで、pingを指定したホストに指定した秒数だけ送信するというスクリプトを書きたいと思っています。 送信する間隔や回数、タイムアウト時間などはpingコマンドのオプションで指定することができますが、指定した秒数送信するというのはどうやって実現させたらいいか分かりません。 whileなどのループ文で書けたらとも思いますが、判別条件もどうしたらいいか分からず・・ 何か良い方法はありますでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

#1さんのだとこんな感じ? ( ping host & ) ; sleep 10 ; killall ping

foo178
質問者

お礼

なるほど・・!!バックグラウンドで実行させて、sleepで秒数を指定して動作を止めればいいのですね。こんな使い方があるとは・・シェルは学び始めたばかりなので、驚きです。 ありがとうございました!

その他の回答 (1)

  • mendokusa
  • ベストアンサー率13% (359/2726)
回答No.1

指定した秒数でkillしちゃうとか

foo178
質問者

補足

回答ありがとうございます。しかし、killコマンドは秒数の指定などできましたっけ?調べてみたのですが、そういったオプションはないようなのですが・・

関連するQ&A

  • 複数ファイルを1つにするシェルスクリプト

    file.1 file.2 ..... file.xx とxxが連番になっている複数のテキストファイルがあります。 これを1つのファイル"file.all"にするために以下のシェルスクリプトを作ってみました。 (公開するのも恥ずかしいのですが...^ ^;) #!/bin/sh i=1 while [ $i -le 99 ]; do  cat file.$i >> file.all  let i=i+1 done これだと99までのファイルしか指定できません。 99999...とループ回数を増やせばいいのですが、 それよりももっとスマートにやる方法があるのではと思い質問を投稿いたしました。 シェルスクリプトではなくコマンドによる方法でも結構です。 (RH7.3を使っています) よろしくお願いします。

  • シェルスクリプトのbashとperlについて

    シェルスクリプトのbashとperlについて 今さら気づいたのですが、PerlもUNIXのコマンドやシェルスクリプトとして使用できるということでしょうか。 RubyやPHPをUNIXのコマンドやシェルスクリプトとして使用することはできますでしょうか。 学ぶとしたら、bashとPerlのどちらが良いでしょうか。 また、シェルスクリプトはどんな用途や利点がありますでしょうか。 Webアプリケーションによるバックアップやログをタイマーでセットして自動的に取得したりすることは可能でしょうか。

  • シェルスクリプトでwhileを用いてrshを繰り返し使う場合

    Bシェルスクリプトでリモートシェル(rsh)を使う場合の質問です。 現在、以下のような状態です。 有識者の方、アドバイスをお願いします。 ・Aでは、ループされずhostAの場合のみ処理がされます。 (while文が効いていない) ・Bでは、ループされて問題なくhostA,hostB,hostCが処理されます。 (while文が効いている) なぜなのでしょうか。。。(r系コマンドの特性?) ちなみり、リモート側のサーバには.rhostsが設定してあり 問題なくコマンドが通ることは確認済みです。 スクリプトA---------------------------------------------- #!/bin/sh while read line ; do rsh $line hostname done <<END hostA hostB hostC END スクリプトA---------------------------------------------- スクリプトB---------------------------------------------- #!/bin/sh while read line ; do echo " HOST=$line" done <<END hostA hostB hostC END スクリプトB----------------------------------------------

  • UNIXシェルスクリプト

    お世話になります。 会社でUNIXシェルスクリプトを用いて残業申請自動送信メールの作成をしています。 下記のフローで作成したのですが、端末エミュレータを切るとjobが消えてしまい困っています。 バックグラウンドで実行したのですが、実行されませんでした。 回答よろしくお願いします。 at(指定時刻にメール送信)→sleep(来週の頭になるまで待つ)→goto(最初に戻る) と無限にatコマンドを週一回実行するスクリプトです。

  • シェルスクリプトの書き方

    すみません、シェル初心者なのですが、急を用してまして質問させて頂きました。 シェルスクリプトで コマンドを実行する前に他のユーザにスイッチしてから 実行するというのを実現したいのですが・・・ #!/bin/csh コマンド1 コマンド2 ・・・ とコマンド1の前に su コマンドを実行させたいのですが、 パスワードを入力する際、対話式なので どう書いてよいか分かりません。 よろしくお願いします。

  • perlスクリプト内でシェルコマンドを実行するには??

    タイトル通りなのですが、perlスクリプト内でシェルコマンドを実行させる方法が分からなく、困っています。 実行したいシェルコマンドはUNIXのcrontab なのですが・・。 また、perlスクリプト内以外でシェルコマンドを実行する方法はあるのでしょうか?? どなたか分かる方いらっしゃいましたらご教授いただけると幸いです。よろしくお願いします。

    • ベストアンサー
    • Perl
  • シェルスクリプトのBシェル(Bourne)に出てくる、$0,$1,$2

    シェルスクリプトのBシェル(Bourne)に出てくる、$0,$1,$2...のような位置パラメタや、$?,$$,$!,$-のような特殊変数がありますが、これはPerlやRubyもあるようですが、意味や効果、やり方等は同じでしょうか。 当方はPHP,JavaScriptしか触れていませんし、PHPやJavaScriptは、そのような位置パラメタや特殊変数は見当たりませんでした…。 つまり、PerlやRubyはUNIXのコマンドから誕生したスクリプト言語ということでしょうか。 こういった位置パラメタや特殊変数はPerlやRuby以外に他の言語にもありますでしょうか。PythonとかCとかJavaとか…。 また、Bシェルを学んでいる途中ですが、シェルスクリプトの中にはbourne以外にもbashやC Shell,zsh,Perlがありますが、何故Perlが入っているのでしょうか。 Perlをやっている方は別途シェルスクリプトをやる必要はないということでしょうか。

  • シェルスクリプトの書き方

    あるMakefileを作ったのですが、Makefileの中で同時にあるパスを通す処理を追記したいです。Makefileではタブを入れればシェルスクリプトと同様に普通にUNIXコマンドを実行出来るようなので、以下のように記載したのですが、動作しませんでした。どのようにすれば対処出来るでしょうか。 Makefileの内容 ... [tab]LD_LIBRARY_PATH=~/ [tab]export LD_LIBRARY_PATH ...

  • マクロでping送信

    私が今行いたいことは、 ExcelにIPアドレスを複数入力し、ボタンひとつでコマンドプロンプトがExcelに入力した数だけ開き、pingを送信するというようなマクロを作りたいと思うのですがぜんぜんわかりません。 また、送信する回数も設定したいです。 もしコマンドプロンプトを起動したり出来なのであれば、コマンドプロンプトでpingを送信したときみたいなパケットロスや応答時間などが出るようなものを作りたいです。 もし、作り方がわかる方がいましたら教えてください。 よろしくお願いします。

  • Linux、unix、シェルスクリプトの基礎知識、コマンドについて

    会社でteratermを使ってコマンドベースの仕事をする機会があるため、コマンドやシェルスクリプトについて理解したいと考えています。 そこで疑問がわいてきたため、何点か質問があります。 1)teratermでtelnetで接続してコマンドを打つときはunixのコマンドですか?linuxのコマンドですか? 2)unixとlinuxで簡単なコマンドレベルでの差は無いものと考えて大丈夫でしょうか? 3)勉強するならunix、linuxどっちがお勧めですか? (今のところ参考書として、独習linuxか独習unixを買って勉強しようと思っています。他にお勧めの参考書があれば教えてください。) 4)シェルスクリプトを家でも作成してみたいのですが、ubuntuをインストールして端末上で操作し、作成して試すことはできるのでしょうか? (お勧めの参考書があれば教えてください。) 長くなってしまいましたが、よろしくお願いします。

専門家に質問してみよう