ln -s /var/log/$SERVICE_NAME $RPM_INSTALL_PREFIX/logs || :
rpm 仕様ファイルでは、すべての行が次で終わります|| :
の意味は何|| :
ですか?なぜそこにあるのですか?
rpm 操作がキャンセルされないように、エラーは無視されます。
||
前のコマンドが失敗した場合に次のコマンドを実行し、:
常に成功します。
終了コードを飲み込みます。
||
前の処理が失敗した場合 (つまり、ゼロ以外の終了コードを持つ)、その後の処理を行います。:
「何もしない」コマンドです。それらをまとめて…</p>
私は他の人が答えたことを知っていますが、私は置くことを好みます:
command || /bin/true
私見は、bashスクリプト/仕様ファイルを読んでいる次の人にそれをより明白にします.
`||` is OR operator. `:` means "do nothing".
あなたの声明は、「ソフトリンクを行うか、何もしない」と言っています
それは単にORを意味します。このような小さなテストを試すことができます
ls nofile-here-like || echo 'Not here'
ファイルが存在しない場合、エコーが出力されます。既存のファイルで試してみてください。