首页 > 系统相关 >shell中的运算符

shell中的运算符

时间:2023-02-23 14:36:29浏览次数:33  
标签:shell 运算 算术 expr echo 运算符 var 表达式

算术运算

运算符 举例 结果
+(加运算) 3+5 8
-(减运算) 5-3 2
*(乘运算) 5*3 15
/(除运算) 8/3 2
%(取余运算) 15%4 3
**(幂运算) 5**3 125

bash中的算术运算:help let

+, -, *, /, %取模(取余), **(乘方),乘法符号有些场景中需要转义
实现算术运算:
(1) let var=算术表达式
(2) var=\([算术表达式] (3) var=\)((算术表达式))
(4) var=$(expr arg1 arg2 arg3 ...)
(5) declare –i var = 数值
(6) echo ‘算术表达式’ | bc

expr:通用的表达式计算命令

表达式中参数与操作符必须以空格分开

表达式中的运算可以是算术运算,比较运算,字符串运算和逻辑运算。

$ expr 5 % 3
$ expr 5 \* 3  # 乘法符号必须被转义
$ expr \( 2 + 5 \) \* 2 – 3  # 括号必须被转义

bash有内建的随机数生成器变量:$RANDOM(0-32767)

示例:生成 0 - 49 之间随机数

echo $[$RANDOM%50]
#先赋值,再自加
$ a=1; b=$((a++));echo $a $b
2 1
#先自加,再赋值
$ a=1; b=$((++a));echo $a $b
2 2

逻辑运算

true, false
1, 0

1 与 1 = 1
1 与 0 = 0
0 与 1 = 0
0 与 0 = 0

1 或 1 = 1
1 或 0 = 1
0 或 1 = 1
0 或 0 = 0

非:!
! 1 = 0 ! true
! 0 = 1 ! false

短路运算

短路与 && 遇到假就停止执行
第一个为0,结果必定为0 cmd1&&cmd2 cmd1假就不会执行cmd2
第一个为1,第二个必须要参与运算 cmd1为真则必然会执行cmd2

短路或 || 遇到真则停止执行
第一个为1,结果必定为1
第一个为0,第二个必须要参与运算

异或:^
异或的两个值,相同为假,不同为真

#通过异或,达到交换数据的功能
x=10;y=20;x=$[x^y];y=$[x^y];x=$[x^y];echo "x=$x,y=$y" 
x=20,y=10

并且

-a: and
[ c1 -a c2 ] 两条件必须同时满足

或者

-o: or
[ c1 -o c2 ] 两个条件满足一个就行

标签:shell,运算,算术,expr,echo,运算符,var,表达式
From: https://www.cnblogs.com/guangdelw/p/17147840.html

相关文章

  • shell中的各种测试语句
    变量测试表达式解释${var:-word}|若var存在且非空,则值为$var;若var未定义或为空值,则值为word,但var的值不变。${var:=word}|若var存在且非空,则值为$va......
  • shell基础
    设置根据后缀补充title新建.vimrc文件,存放到家目录中vim.vimrc#做一些对vim的自定义设置setcursorlinesetautoindent#当新建的文件以sh结尾的,调用SetTitel()函数......
  • shell中的变量
    Shell中变量命名法则不能使程序中的保留字:例如if,for只能使用数字、字母及下划线,且不能以数字开头见名知义统一命名规则:驼峰命名法Shell中命名建议规则变量名......
  • PowerShell 调用接口插入模拟数据
       functioninsertUser($i=2){$str="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"#字符串#echo$str.ToCharArray()......
  • 03运算符
    运算符算数运算符设:a=10,b=20运算符描述实例+加-两个对象相加a+b输出结果30-减-得到负数或是一个数减去另一个数a-b输出结果-10*乘-两......
  • XShell或Xftp连接不上Ubuntu解决方案
    查看ssh是否开启ps-e|grepssh如果只有ssh-agent表示还没启动开启openssh-serversudoapt-getinstallopenssh-server再次查看如果显示sshd则说明已启动成功......
  • 红帽认证RedHat-RHCSA shell的基本应用
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操......
  • shell getopts 的使用模板
    demo1#!/bin/bashfunctionusage(){echo"Usage:$0-sFUNCTION-nNAME"}whilegetopts":s:n:"opt;docase${opt}ins)func=$OPTARG......
  • xshell使用秘钥ssh到自己的云服务器
    首先新建会话如果没有想要指定ssh到某个端口,就是22端口(ssh默认端口)文件->打开点击刚刚创建的会话myserver1输入要登录的用户名接下来可以1.使用密码登录2.使用公......
  • shell常用操作
    多行注释::<<EOF开头EOF结束字符串name="sfsf"echo"hello,${name}"#可以无引号,单引号双引号echo-e"YES\nNo"#开启转义printf"%d%s\n"1"abc"#格式只指定......