1. ホーム
  2. bash

[解決済み] bashでnoop [:] の使用例を教えてください。

2022-04-27 05:51:04

質問

bashのnoop(:)について検索しましたが、いい情報が見つかりませんでした。この演算子の正確な目的、使用例を教えてください。

下記を試してみましたが、私の場合はこのように動作しています。

[mandy@root]$ a=11
[mandy@root]$ b=20
[mandy@root]$ c=30
[mandy@root]$ echo $a; : echo $b ; echo $c
10
30

この演算子のリアルタイムでの使用例や、使用が必須な場所があれば教えてください。

どのように解決するのですか?

これは、歴史的な理由によるものです。コロン組み込みの : とは全く同じ意味です。 true . を使うのが伝統的です。 true 無限ループなど、戻り値が重要な場合。

while true; do
  echo 'Going on forever'
done

を使用するのが伝統的です。 : シェルの構文でコマンドが必要だが、何もすることがない場合。

while keep_waiting; do
  : # busy-wait
done

: ビルトインの歴史は トンプソン・シェル であった。 プレゼント Unix v6 . : は、トンプソン・シェルのラベル・インジケータである goto という文があります。ラベルは任意のテキストにすることができますので : はコメント表示と兼用です(もし goto comment であれば : comment は事実上コメントである)。その ボーンシェル はなかった。 goto: .

を使用する一般的なイディオムです。 : : ${var=VALUE} を設定します。 var から VALUE が設定されていない場合は何もしません。 var がすでにセットされていた。この構成は変数置換の形でしか存在せず、この変数置換は何らかの方法でコマンドの一部となる必要があります:no-opコマンドがうまく機能します。

参照 コロン組み込みはどのような目的で使用されるのですか? .