Home

技術系のメモと日々の雑感

rc スクリプトの中の謎の変数

Apache とかの rc スクリプトの中に

httpd=${HTTPD-/usr/sbin/httpd}

といった変数の定義があるね。
見たところ、この httpd には /usr/sbin/httpd がセットされるようだけど、何でこんな書き方をしているのか、気になりだすと夜も眠れない。
で、家にあるオライリーの「入門 bash」を見たらあっさり解決した。
上の例でいくと、変数 HTTPD が定義されているときはこの変数の値が使用されて、定義されてないときは /usr/sbin/httpd が使用されるそうだ。
なるほど。
/usr/sbin/httpd はデフォルト値ってことだね。
まぁ、大体想像していた通りだった。
ちなみに、上の書き方は ${HTTPD:-/usr/sbin/httpd} の省略形らしい。
といってもただの省略形じゃなくて、コロン「:」が付いているときは、変数が定義されていて、かつ NULL でないこともチェックするんだそうだ。
あぁ、これでぐっすり眠れるよ。

この記事に対するトラックバック

この記事のトラックバックURL

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/10(火) 17:25:14

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/08(日) 19:08:23

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/06(金) 01:59:24

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/05(木) 05:28:54

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/29(金) 11:18:22

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 19:38:29

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/05(火) 23:09:10

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/05(火) 03:04:05

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/02(土) 22:17:58

-

管理人の承認後に表示されます

  • From: |
  • 2013/07/14(日) 04:25:30

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する