0

どうやって、

私はGoogle全体を検索しましたが、この行が何をするのかまだ見つけていません:

smartstat=$(($? & 8))

大まかに言うと、終了ステータスの 3 番目のビットに直接アクセスしようとしています。

SmartCTL はデフォルトで 8 ビットを使用します。ディスク障害などのエラーが発生した場合、3 番目のビットを 1 にしてログにエラーを送信します。

smartstat=$(($? & 8)) 誰かが 3 番目のビットに直接アクセスします。smartctl のマンページから直接:

smartstat=$(($? & 8)) これは、終了ステータス $? のビット 3 のみを調べます。(8=2^3 なので)。シェル変数 $smartstat は、SMART ステータス チェックで「ディスク障害」が返された場合はゼロ以外になり、それ以外の場合はゼロになります。

それで、そのコード行で & が何をしているのか誰か教えてもらえますか?

4

1 に答える 1