bash で noop (:) を検索しましたが、適切な情報が見つかりませんでした。この演算子の正確な目的や使用例は何ですか?
私は次のように試してみましたが、次のように動作しました:
[mandy@root]$ a=11
[mandy@root]$ b=20
[mandy@root]$ c=30
[mandy@root]$ echo $a; : echo $b ; echo $c
10
30
この演算子をリアルタイムで使用する場合や、使用が必須となる場所があれば、ぜひ教えてください。
ベストアンサー1
これは歴史的な理由によるものです。コロン組み込みは:
とまったく同じです。無限ループなど、戻り値が重要な場合に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
に設定され、すでに設定されている場合は何も行われません。この構造は変数置換の形式でのみ存在し、この変数置換は何らかの形でコマンドの一部である必要があります。そのため、no-op コマンドが適しています。VALUE
var