Linux - Shell - 算数表达式 - 位运算

  1. 概述

    1. shell 中基于 $(()) 的 位运算
  2. 背景
    1. 复习 shell 脚本
    2. 凑数吧
  3. 准备
    1. 环境

      1. os

        1. centos7

1. 位运算

  1. 代码

    #!/bin/bash
    
    # 位运算
    arg1=2
    arg2=8
    
    # 位运算
    # 1. <<
    var1=$((arg1 << 2))
    echo $var1
    
    # 2. >>
    var2=$((arg1 >> 1))
    echo $var2
    
    # 3. &
    var3=$((arg1&arg2))
    echo $var3
    
    # 4. |
    var4=$((arg1|arg2))
    echo $var4
    
    # 5. ~
    var5=$((~arg1))
    echo $var5
    
    # 6. !: 这个是 逻辑非, 不知道怎么混进来了
    var6=$((!!arg1))
    echo $var6
    
    # 7. ^
    var7=$((arg1 ^ arg2))
    echo $var7
    

原文地址:https://www.cnblogs.com/xy14/p/12090859.html

时间: 2024-08-02 16:14:39

Linux - Shell - 算数表达式 - 位运算的相关文章

Linux - Shell - 算术表达式 - 算数运算

概述 shell 中基于 $(()) 的 算数运算 背景 复习 shell 脚本 凑数吧 准备 环境 os centos7 1. 算数运算 代码 #!/bin/bash # $(()) 的数学运算, 里面的内容, 被解释为 算数表达式 # $(()) 内的变量, 可以不加 $ # 只看 正整数 arg1=4 arg2=5 # 算数运算 # 1. + var1=$((arg1+arg2)) echo $var1 # 2. - var2=$((arg1-arg2)) echo $var2 # 3.

Linux Shell编程(5):整数运算

http://blog.sina.com.cn/s/blog_6db275da0101asmf.html ((i=$j+$k))    等价于 i=`expr $j + $k`((i=$j-$k))     等价于   i=`expr $j -$k`((i=$j*$k))     等价于   i=`expr $j \*$k`((i=$j/$k))     等价于   i=`expr $j /$k` Let expressions 执行一个或多个表达式.表达式中的变量前不必有$.如果表达式中包含了

Linux Shell之表达式

严格来说,shell中没有表达式的概念.Shell本身其实只是一堆命令的集合,当然也不是胡乱的堆在一起,而是有一定的组织.只是这个组织不那么严谨,所以本文不是要真的总结所谓的表达式,而是把shell中一些犄角旮旯的东西拼凑在一起,实在不知道它们属于那个分类.. 命令代换 其实就是这篇文章中的反引号所起的作用.但是命令代换还有另一种形式,如下: m@meng:~/scripts$ m=`date` m@meng:~/scripts$ echo $m 2015年 06月 25日 星期四 10:40:

shell脚本之位运算+for循环+返回值承接

用shell脚本实现某个寄存器的某几位设置 坑位1: 开发板上不认(ubuntu上可以) for (( i=0;i<6;i++ )) do done 换成: for i in `seq 0 6` do done 坑位2: 返回值承接用#?时默认只截取低8位 setbits $1 $2 $3 $4regv=$?printf "regv= %#x\n" $regv 发现只剩低八位 所以,换种承接方式吧: regv=`regread $1` 这种方式是直接将命令执行或在屏幕上输出的东西

Linux Shell——正在表达式

正则 grep 匹配,并能显示颜色 过滤,显示行号,区分大小写 grep -v取反 取上2行,下2行,上下两行 以# 开头的行 把不是以#开头打印出来,例如,在看配置文件时可以用到 匹配所有 一次o或多次,*是0次o或者多次 ?重复次数0或1 | 或者 不区分大小写 .  任意一个字符 *  0个或多个*前面的字符 .*  通配 {}  表示范围前面字符 +  一个或多个,前面字符 ? 0个或1个前面字符 |  或者 sed 匹配和替换 -n 不打印无关的行 r不脱译 匹配2~5行 打印25~末

shell算数运算

咖啡喝多了.估计今夜无眠了.妈蛋. shell的算数运算.有太多了.包括很多网上可以下载到的工具.数不胜数.本文只选取常用的进行介绍. 1. $[ ] 这个可能用得比较少.包括我自己第一次见到这个一个东西的时候也很好奇.不过还真的能够达到效果.仅限于整形.不能用来计算浮点数. 缺点是计算有局限性.貌似职能计算加减乘除和模运算. 注:**表示的是幂运算. 2. $(()) 我喜欢把这个叫做C语言模式.无论是在条件判断或者循环中,还是放在这里.变量都没有限制.仅限于整形,浮点数不能用这个表达式. 3

Linux shell 编程(六):运算

运算 表达式 表达式包含在或(())或[]内, 算数表达式:(()) ((expression)) 这个表达式是根据算术计算的规则来计算的.相当于let expression. 条件计算表达式:[] [expression] 这是内置命令test的同义词,以[开头,以]结尾. 在表达式中可以进行进制转换:$((NUMBER#SCALE)),$((10#8)=>8 要得到计算结果,需要在表达时前面加$符号,如:$[expression],$((expression)) 区别 这两种的区别在于((e

Linux shell 变量 数学 运算

Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算: 1, Linux shell 变量的基本运算 数值作为常规变量直接赋值给变量,并且以字符串形式保存. 1.1 let 命令可以用于直接执行基本操作:         当我使用 let 的时候,我们不使用 $ 符号引用变量. no1=7; no2=8; echo "---

Linux shell变量数学运算

Linux shell变量数学运算 Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算:2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算: 1, Linux shell 变量的基本运算 数值作为常规变量直接赋值给变量,并且以字符串形式保存. 1.1 let 命令可以用于直接执行基本操作: 当我使用 let 的时候,我们不使用 $ 符号引用变量. no1=7;no2=8; e