Bash Shell,尝试创建和评估蒙版

Neu*_*nte 5 bash shell bit-manipulation mask bitmask

我正在尝试创建一个掩码,并使用按位运算符“&”与另一个变量进行比较并查看输出。让代码:

mask=00000
mesk=00010
mosk=$mask&$mesk
echo $mosk
echo meec
Run Code Online (Sandbox Code Playgroud)

我正在尝试扩展此功能,以能够包含更多字符(不同的错误/成功代码),但是这些行不起作用:执行脚本将打印空行,然后打印“ meec”。

我来自面向对象的编程背景,尽管我已经阅读了有关此主题的多个文档,但似乎缺少一些东西。任何帮助,将不胜感激。

编辑:由于某种原因,原来的代码不起作用,它说“找不到命令00010”> _>

Som*_*ude 5

这是因为通常&外壳程序中的字符是在后台放置命令的修饰符。

您必须使用Bash的算术扩展(例如)才能工作:

mosk=$(($mask & $mesk))
Run Code Online (Sandbox Code Playgroud)