LINUX.ORG.RU

История изменений

Исправление vodz, (текущая версия) :

Как понимать конструкцию «capabilities >> 3 & 1»?

А вообще, это извращение, ибо на самом деле и быстрее (по крайней мере на bash) и нагляднее выполнялся бы такой код:

[ $(( capabilities & 1 )) -ne 0 ] && capabilities_rdcl_no=1
[ $(( capabilities & 2 )) -ne 0 ] && capabilities_ibrs_all=1
[ $(( capabilities & 4 )) -ne 0 ] && capabilities_rsba=1
...
Но если лень вырисовывать степени двойки, то обычно рисуют так (а не как в исходном извращении):
[ $(( capabilities & (1<<0) )) -ne 0 ] && capabilities_rdcl_no=1
[ $(( capabilities & (1<<1) )) -ne 0 ] && capabilities_ibrs_all=1
[ $(( capabilities & (1<<2) )) -ne 0 ] && capabilities_rsba=1
...

Исходная версия vodz, :

Как понимать конструкцию «capabilities >> 3 & 1»?

А вообще, это извращение, ибо на самом деле и быстрее (по крайней мере на bash) и нагляднее выполнялся бы такой код:

[ $(( capabilities & 1 )) -ne 0 ] && capabilities_rdcl_no=1
[ $(( capabilities & 2 )) -ne 0 ] && capabilities_ibrs_all=1
[ $(( capabilities & 4 )) -ne 0 ] && capabilities_rsba=1
...