危険なエンクロージャの状態に関するコメント [閉じる]

危険なエンクロージャの状態に関するコメント [閉じる]

これが私が達成したいものです。

#!/bin/bash
safemode=on

if [ $safemode == 'off' ];then
  run dangerous code
fi

私は129本の危険線を持っており、すべて別々です。最良のアプローチは何ですか?

ベストアンサー1

「最良の方法」は、何を最大の努力と見なすかによって大きく異なります。非常に簡単なアプローチは、&&-connectedコマンドのリストを使用して例を少し変更することです。 Bashの算術テスト構成を使用できます。

#!/bin/bash
safemode=1

(( ! safemode )) && run dangerous code 1
uncritical code
(( ! safemode )) && run dangerous code 2

または一般的な文字列ベースの演算子

#!/bin/bash
safemode=on

[[ $safemode = "off" ]] && run dangerous code 1
uncritical code
[[ $safemode = "off" ]] && run dangerous code 2

これは、すでに実行中の作業の非常に簡単な表記です。それ以外の場合は[[ ... ]]テストが生成されるため、コマンドリストの実行は 。falsesafemodeoff&&

&&リンクされたコマンドリストの場合、終了コードは最後に実行されたコマンドの終了コードであるため、設定すると「保護された」行の後にsafemodeなります(このようにコードを使用して終了する場合のみ)。 )。$?1

おすすめ記事