SmartCTL位掩码

时间:2013-09-27 01:39:38

标签: bash bitmask

HOwdie do,

我在谷歌搜索过,我还没有找到这条线的作用:

smartstat = $(($?& 8))

为了正确看待,我试图直接访问退出状态的第3位。

SmartCTL默认使用8位。当发生错误(例如磁盘故障)时,它会使第三个位为1并向日志发送错误。

smartstat = $(($?& 8))有人直接访问第三位。直接来自smartctl的手册页:

smartstat = $(($?& 8)) 这只关注退出状态$ 3的第3位? (自8 = 2 ^ 3)。如果SMART状态检查返回“磁盘失败”,则shell变量$ smartstat将为非零值,否则为零。

那么,谁能告诉我什么&是在那行代码吗?

1 个答案:

答案 0 :(得分:2)

&安培;是一个“按位和”运算符。设A = 15

A = 1111(二进制)

8 = 1000(二进制)

A& B = 1000(二进制)