シェルスクリプトで

${hoge:-"off"} != "off"
はどういう意味でしょうかどなたか解説お願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/05/18 08:50:27
  • 終了:2012/05/18 10:08:43

ベストアンサー

id:JULY No.1

JULY回答回数966ベストアンサー獲得回数2472012/05/18 09:50:19

Mitzyuki’s Blog :: POSIX.2 標準仕様のシェルによる変数展開
上記ページの「デフォルト値への置換」に該当します。

なので、質問文の「${hoge:-"off"} != "off" 」は、

  • $hoge にすでに値が設定されていて、

かつ、

  • $hoge の値が "off" 以外

の場合に真になります。

$hoge が何らかの処理を行うためのスイッチで、指定されていない時のデフォルトはオフ、といった感じになると思います。

id:koubeichizoku

ありがとうございました。非常にすっきりしました

2012/05/18 10:13:20
  • id:taknt
    ${hoge:-"off"} != "off"

    こういう 大半の人がみて すぐに わからないようなコードを書くのが すごいとか
    思ってる人がいるんだよねぇ。
    昔は 文字数に制限があったから 仕方なかったのはあるけど。
  • id:koubeichizoku
    ということはこれを誰でも解るように書くとちょっと長くなるということでしょうか?
  • id:taknt
    長くなると思いますよ。
    ま、そんなたいしたことは ないと思いますが。

    シェルスクリプトといっても 何のシェルなのかは 明記したほうがいいかと思います。
  • id:shufutomo
    ありゃ、回答を書いていたら、受付が終了しちゃった・・・

    これ説明できたのに
  • id:shufutomo
    あ、すでに回答されていたね。
    よかったですね解決して。
  • id:koubeichizoku
    ババトモさんありがとうございますこんどはポイントためてお礼できるような身分になってまた質問したいと思いますのでよろしく。

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

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

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

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