Bash shell,试图创建和评估一个掩码

时间:2013-12-05 10:37:27

标签: bash shell bit-manipulation mask bitmask

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

mask=00000
mesk=00010
mosk=$mask&$mesk
echo $mosk
echo meec

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

我来自一个面向对象的编程背景,虽然我已经阅读了几个关于这个主题的文档,但似乎有些东西我不知道了。 任何帮助将不胜感激。

编辑:出于某种原因,事实证明代码不起作用,它说“命令00010未找到”&gt; _&gt;

1 个答案:

答案 0 :(得分:5)

这是因为shell中的&字符通常是将命令放在后台的修饰符。

你必须使用Bash的Arithmetic Expansion(例如)才能工作:

mosk=$(($mask & $mesk))