Jim*_*mes 2 syntax bash bitwise-operators
知道为什么下面的代码不起作用吗?
hex_var='a'
processed=((3 & $hex_var) | 8)
Run Code Online (Sandbox Code Playgroud)
对‘算术展开’还是没怎么了解!
你的算术表达式是错误的。您可以这样做:
hex_var=0xa
processed=$(( (3 & $hex_var) | 8 ))
echo $processed # yields 10
Run Code Online (Sandbox Code Playgroud)
或者,正如戈登戴维森所建议的那样,您可以使用该#符号来明确指定基数:
hex_var=a
processed=$(( (3 & 16#$hex_var) | 8 ))
Run Code Online (Sandbox Code Playgroud)
看: