ファイルを削除する前にサービスを停止するmakefileがあります。サービスの停止に失敗すると、エラーとともに中断されます。これは明らかに必要ではないので、追加したかったのですが、|| true
見逃しました|
。進行中の作業:
stop service foo | true
rm /etc/init/foo.conf
なぜこれが機能し、何が起こっているのか混乱しています。これはtrue
単なるキーワードではなく、アプリケーションという意味ですか?彼らは同じですか?それを使用する良い理由はありますか| true
?
答え1
true
そしてfalse
コアツール(通常はシェル組み込み)は0と0以外の値のみを返すため、その動作が必要な状況に適しています。マニュアルページから:
true - 何もしない、成功
false - 何もしない、失敗
したがって、出力をパイプstop service foo
で接続するtrue
と、それを無視してゼロを返します。技術的には機能しますが、|| true
意図が何であるかを明確にするためにこれを使用する必要があり、それを使用しないプログラムに出力をパイプする理由はありません。