- - PR -
起動スクリプトの書き方について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-08-12 09:44
いつもお世話になっております。
起動スクリプトを作成しているのですが、書き方がわかりません。 Webを色々調べてみたのですが、よくわかりませんでした。 /etc/init.d/ のファイルを参照しながら見よう見まねで作成していまして、 以下のようなスクリプトを作成しました。 〜 略 prog=hoge RETVAL=0 start() { echo -n $"Starting $prog: " /usr/local/hoge/hoge RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/hoge return $RETVAL } 〜 略 そこで、起動させてみたのですが、 # service hoge start hogeを起動中: # となり、その後に出てくる[ OK ] と表示させません。 スクリプト中の [ $RETVAL -eq 0 ] が関係していると思いますが、 その中の -eq というオプション?の意味がわかりません。 足りない説明があれば言ってください。 初心者ですが、よろしくお願いします。 | ||||
|
投稿日時: 2004-08-12 09:53
man test してください。 | ||||
|
投稿日時: 2004-08-12 10:17
toshi さん こんにちは。
ありがとうございます。 -eq は数値のテストですね。 それにしてもなにも表示されないのはなぜでしょう? 書きもらしましたが、パソコン起動時にはちゃんと hoge: [ OK ] と表示されます。 | ||||
|
投稿日時: 2004-08-12 10:48
はじめまして。
こんにちは。 下記記述のように /etc/init.d/functions を読み込んでいますでしょうか? . /etc/init.d/functions 読み込んでいるのでしたら起動スクリプト内の /usr/local/hoge/hoge の記述部分を daemon /usr/local/hoge/hoge としたらでませんでしょうか? | ||||
|
投稿日時: 2004-08-12 12:09
うっちー さん こんにちは。
ありがとうございます。出来ました。 /etc/init.d/functions は読みこんでいます。 daemon /usr/local/hoge/hoge とすることで表示されました。 まだまだ勉強不足ですので、またなにかありましたら宜しくお願いします。 ありがとうございました。 | ||||
|
投稿日時: 2004-08-12 14:53
でどうでしょう。 function failure や success は /etc/rc.d/init.d/functions 中に 定義されてます。 [ メッセージ編集済み 編集者: はしもと 編集日時 2004-08-12 14:54 ] [ メッセージ編集済み 編集者: はしもと 編集日時 2004-08-12 14:56 ] | ||||
|
投稿日時: 2004-08-12 15:21
はしもと さん こんにちは。
ありがとうございます。 はしもと さんのコードでもできました。 が、[ OK ] と表示されますが、今度は改行がされません。 hogeを起動中: # [ OK ] のようになってしまいます。 この場合の解決法はありますでしょうか? | ||||
|
投稿日時: 2004-08-12 16:40
こんにちは。
start() { echo -n $"Starting $prog: " /usr/local/hoge/hoge RETVAL=$? [ $RETVAL -ne 0 ] && failure [ $RETVAL -eq 0 ] && touch /var/lock/subsys/hoge && success echo return $RETVAL } echoをはさめたらいかがでしょうか? |