【问题标题】:Bash shell, trying to create and evaluate a maskBash shell,尝试创建和评估掩码
【发布时间】:2013-12-05 10:37:26
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: bash shell bit-manipulation mask bitmask


    【解决方案1】:

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

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

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

    【讨论】:

    • 该死的,谢谢好心的陌生人!我看到了一些关于这个主题的东西,但没有设法将两者联系起来(有点明智和算术扩展)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多