前のコマンドの結果に基づいてコマンドを実行します(フルステートメントは失敗しません)。

前のコマンドの結果に基づいてコマンドを実行します(フルステートメントは失敗しません)。

私はこのようなことをしたい:

gatekeeper.sh && <script>

gatekeeper.sh<script> 実行するかどうかを決定する条件によっては、0 または 1 を返します。これまでは動作しますが、次のようになります。

  1. Gatekeeper.shは成功し、<script>は成功しない場合は、コマンド全体が失敗する必要があります(終了ステータス!= 0)。
  2. 完全なコマンドはいいえGatekeeper.shが失敗すると失敗します(そして2番目のコマンドは実行されません)。
  3. <script>は変更しないでください。

可能であれば、読みやすくするために構文をできるだけ短くしたいと思います。

ベストアンサー1

可能であれば、読みやすくするために構文をできるだけ短くしたいと思います。

この場合は「最大限短い」≠「読みやすさが良い」と思います。お客様のニーズに合った構文や会社を思い出すことができるとしても、&&コード作成者が意図したことが何であるかを一目で把握するのは難しいと思います。

この場合、明確にするために追加の説明が必要だと思います。

if gatekeeper.sh; then
    <script>
fi

ある程度最も読みやすいコードは、ビジネスロジックの影響を受ける可能性があります。論理的な意図をコードに最も透明に変換する構成は何ですか?

おすすめ記事