展开

关键词

expr命令

expr命令 expr命令计算给定表达式并显示其相应的输出,其被使用用于:基本操作像加法、减法、乘法、除法和模等等整数,求值正则表达式,字符串操作,如子字符串,字符串长度等。 语法 expr [EXPRESSION | OPTION] 参数 --help: 输出帮助信息。 --version: 输出版本信息。 expr 12 + 9 # 21 计算12 * 2。 expr 12 \* 2 # 24 对shell脚本中的变量执行操作,注意保存成.sh文件并赋权限755再执行。 echo "Enter two numbers" read x read y sum=`expr $x + $y` echo "Sum = $sum" 每日一题 https://github.com/ https://www.geeksforgeeks.org/expr-command-in-linux-with-examples/

17720

七、expr命令

1.语法和功能 只能用于整数运算和字符串长度、匹配等运算处理 expr 2 + 2 expr 2 - 2 expr 2 \* 2 expr 2 / 2 i=5;i=`expr $1 + 6`;echo $i 说明: 运算符及用于计算的数字左右都至少有一个空格,否则会报错 乘号需要转义 在shell中进行变量计算时,需要用反引号括起来 2.用expr判断字符串是否是整数 1) 原理: expr做计算时, 必须是整数,所以当非整数和整数想加时,命令返回错误,直接查看错误值就能判断是否是整数 i=1;expr $i + 1 &>/dev/null;echo $? 0 i=a;expr $i + 1 &>/dev/null;echo $? no.1 [ $# -ne 2 ] &&{ echo "$0 plase input NUM1 NUM2" exit 1 #必须输入两个参数 } #no.2 a=$1 b=$1 expr

12720
  • 广告
    关闭

    腾讯云开发者社区系列公开课上线啦!

    Vite学习指南,基于腾讯云Webify部署项目。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 命令(100)—— expr 命令

    expr 1 + 1 2 expr 1 - 1 0 expr 1 * 1 1 expr 1 / 2 0 expr 1 % 2 1 (2)整数的关系运算。 expr 1 \< 1 0 expr 1 \<= 1 1 expr 1 \> 1 0 expr 1 \>= 1 1 expr 1 = 1 1 expr 1 ! expr substr "abcd" 1 3 abc (6)获取字符串长度。 expr length "abcd" 4 (7)将 expr 中具有特殊意义的关键字强制解析为普通字符串并获取其长度。 expr length + "length" 6 (8)使用小括号,使得 expr 支持多个表达式。 expr 1 + \( 1 + 1 \) 3 参考文献 [1] expr(1) manual [2] SHELL脚本–expr命令全解

    43050

    Python学习(七):生成器表达式(expr for iner_var in iterable if cond_expr

    列表解析:[expr for iter_var in iterable if cond_expr] 生成器表达式:(expr for iter_var in iterable if cond_expr)

    10310

    java中Switch(expr)里面的参数的类型是?

    在Java5以前,switch(expr)中,exper只能是byte,short,char,int类型 在JDK1.6:引入enum JDK1.7时:又增加了String public static

    6610

    shell用法(包括awk sed grep eval expr等)

    filename 2:vi精确查找:\<keyValue\> 3:指定分隔符:awk '{FS="\t"} {print $2}' filename 4:数值运算: x=5; let x=$x+1; #或者 x=`expr $x + 1`   #expr 需要参数之间有空格 5:使用变量来引用shell脚本的任意参数 for ((i=1;i<$#;i++)) do eval currParam=\$$i; #引用当前变量

    55210

    Python安装setuptools遇到的MARKER_EXPR错误

    File "/usr/local/lib/python2.7/site-packages/packaging/requirements.py", line 59, in     MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") TypeError: __call__() takes exactly 2 arguments (1 given ) 对于这个错误,只需要提示找到requirements.py的59行,将 MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") 改成 : MARKER_EXPR = originalTextFor(MARKER_EXPR)("marker") 即可。

    15720

    CC++速查表

    expr 右 - 一元负号 -expr 右 + 一元正号 +expr 右 * 解引用 *expr 右 & 取地址 &lvalue 右 () 类型转换 (type)expr 右 sizeof 对象的大小 *ptr_to_member 左 * 乘法 expr*expr 左 / 除法 expr/expr 左 % 取模(取余) expr%expr 左 + 加法 expr+expr 左 - 减法 expr-expr 左 << 向左移位 expr<<expr 左 >> 向右移位 expr>>expr 左 < 小于 expr<expr 左 <= 小于等于 expr<=expr 左 > 大于 expr>expr 左 > = 大于等于 expr==expr 左 == 相等 expr>=expr 左 ! =expr 左 & 位与 expr&expr 左 ^ 位异或 expr^expr 左 ¦ 位或 expr ¦ expr 左 && 逻辑与 expr && expr 左 ¦¦ 逻辑或 expr ¦¦ expr

    20010

    自己动手写编译器:实现if判断中“||“和“&&“条件判断的中间代码生成

    = rel | rel rel -> expr < expr | expr <= expr | expr >= expr | expr > expr | expr 我们通过具体例子来理解上面规则 ,等操作符一些共同的逻辑 expr1 *Expr // "||"前面的表达式 expr2 *Expr // "||"后面的表达式 } func NewOr(line uint32, token, expr1, expr2, logicCheckType), expr1: expr1, expr2: expr2, } } func (o * , expr1: expr1, expr2: expr2, expr_type: expr_type, line: , expr2, logicCheckType), expr1: expr1, expr2: expr2, } } func (a *And) Errors(s

    4610

    Sql Server基本函数

    ,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 字符操作类 upper(char_expr) 转为大写 lower(char_expr) 转为小写 space(int_expr) 生成int_expr个空格 replicate(char_expr,int_expr)复制字符串int_expr次 reverse(char_expr) 反转字符串 stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从 start开始的length 个字符用char_expr2代替 ltrim(char_expr) rtrim(char_expr) 取掉空格 ascii(char) char(ascii) 两函数对应,取ascii码,根据ascii power(numeric_expr,power) 返回power次方 rand([int_expr]) 随机数产生器 round(numeric_expr,int_expr) 安int_expr

    49470

    MySQL中控制流程函数学习--MySql语法

    IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。 字符串 expr2 或expr3 返回值为一个浮点值。 浮点 expr2 或 expr3 返回值为一个整数。 IFNULL(expr1,expr2) 假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。 NULLIF(expr1,expr2) 如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为 expr1。 这和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。

    18640

    和Null有关的函数(r3笔记第48天)

    is not null','expr1 is null') from dual; -->如果expr1不为Null,就输出expr1 is null NVL('EXPR1ISNOTNU --- 就输出expr1 is null NVL(NULL,'EXP ------------- expr1 is null -->nvl2(expr1,expr2,expr3) If expr1 is SQL> select nvl2(null,'expr1 is null return expr3','expr1 is not null return expr2') from dual; -->可以看到,expr1为null,就输出了expr3 NVL2(NULL,'EXPR1ISNULLRETURNEX ------------------------------ expr1 is not null return expr2 SQL> select nvl2('1','expr1 is null return expr3','expr1 is not null return

    445120

    C# 模式匹配完全指南

    T> { public UnaryExpr(UnaryOperator op, Expr<T> expr) => (Op, Expr) = (op, expr); (out UnaryOperator op, out Expr<T> expr) => (op, expr) = (Op, Expr); // 对 Op 进行模式匹配 ) = (op, expr) 和 (op, expr) = (Op, Expr)。 测试 接下来让我测试测试我们编写的表达式计算器: Expr<int> a = 4; Expr<int> b = -3; Expr<int> x = "x"; Expr<int> c = ! <int> expr1, expr2, expr3; { Expr<int> a = 4; Expr<int> b = -3; Expr<int> x = "x"; Expr

    10620

    goyacc 实战

    '+' expr { $$ = $2 } | '-' expr { $$ = $2.Neg($2) } expr1: expr2 | expr1 '+' expr2 { $$ = $1.Add($1, $3) } | expr1 '-' expr2 { $$ = $1.Sub($1, $3) } expr2: expr3 | expr2 '*' expr3 { 没有动作 | '+' expr { $$ = $2 // 当前结构更新为 expr 对应的解构 } | '-' expr { $$ = $2.Neg($2) } expr1: expr2 | expr1 '+' expr2 { $$ = $1.Add($1, $3) // 当前结构更新为 expr1.Add(expr2) } | expr1 '-' expr2 { $$ = $1.Sub($1, $3) } expr2: expr3 | expr2 '*' expr3 { $$ = $1.Mul($1, $3) } | expr2 '/' expr3 {

    2.7K60

    变量判断与设置

    expr}中?的作用表示,当variable不存在时将expr输出到stderr(错误提示)。当variable存在时${variable?expr}表达式的值是variable。 ${str:-expr} var=expr var=expr var=$str var=${str+expr} var=$str var=expr var=expr var=${str:+expr} var =$str var=$str var=expr var=${str=expr} str=expr var=expr str 不变 var= str 不变 var=$str var=${str:=expr } str=expr var=expr str=expr var=expr str 不变 var=$str var=${str? expr} expr 输出至 stderr var=$str var=$str var=${str:?expr} expr 输出至 stderr expr 输出至 stderr var=$str

    19110

    仅200行代码实现科学计算器,Antlr太强大了

    +(2^2)+1 (prog (stat a = (expr 1) \n) (stat b = (expr 2) \n) (stat c = (expr (expr ( (expr (expr a) + (expr b)) )) / (expr 2)) \n) (stat (expr c) \n) (stat d = (expr a) \n) (stat f = (expr d) \n) (stat (expr f) \n) (stat (expr 11) \n) (stat f = (expr (expr (expr a) + (expr b)) + (expr c)) \n) (stat (expr f) \n) (stat CLEANMEM) (stat \n) (stat a = (expr 4) \n) (stat (expr (expr (expr (expr a) !) + (expr ( (expr (expr 2) ^ (expr 2)) ))) + (expr 1)) \n)) c = 1.5 f = 1.0 11.0 f = 4.5 29.0 29.0

    11220

    自己动手写编译器:实现简单if语句的跳转代码生成

    , expr2, relCheckType), expr1: expr1, expr2: expr2, token: token, } } func := r.expr1.Reduce() expr2 := r.expr2.Reduce() test := expr1.ToString() + " " + r.token.ToString ExprInterface, expr2 ExprInterface, checkType CheckType) *Logic { expr_type := checkType(expr1.Type , expr1: expr1, expr2: expr2, expr_type: expr_type, line: := s.expr() return inter.NewRel(s.lexer.Line, tok, expr1, expr2) } 上面代码逻辑是,首先判断当前读到的是否为if标签,如果是

    7010

    第9章、语言结构

    表达式语法 expr: expr OR expr | expr || expr | expr XOR expr | expr AND expr | expr && expr bit_expr | bit_expr | bit_expr & bit_expr | bit_expr << bit_expr | bit_expr >> bit_expr | bit_expr + bit_expr | bit_expr - bit_expr | bit_expr * bit_expr | bit_expr / bit_expr | bit_expr DIV bit_expr | bit_expr MOD bit_expr | bit_expr % bit_expr | bit_expr ^ bit_expr | bit_expr + interval_expr simple_expr | BINARY simple_expr | (expr [, expr] ...) | ROW (expr, expr [, expr] ...

    15230

    Oracle中BETWEEN ... AND的作用

    AND定义如下, expr1 [ NOT ] BETWEEN expr2 AND expr3 其中expr可以是数字、字符、或者日期表达式。 如果expr不是相同的类型,则Oracle可能会使用隐式转换。如果是在SQL中,expr1可能会使用多次,如果是在PL/SQL中,expr1只会使用1次。如果expr3<exprr2,间隔是空的。 这两种表达,是等价的, expr1 NOT BETWEEN expr2 AND expr3 NOT (expr1 BETWEEN expr2 AND expr3) 这两种表达,是等价的,expr2 less than or equal to expr1 AND expr1 less than or equal to expr3,其实他就回答了,开头的问题,在Oracle中,A BETWEEN B AND C,表示的是A>=B & A<=C, expr1 BETWEEN expr2 AND expr3 expr2 <= expr1 AND expr1 <= expr3 我们再从实验,论证一下, SQL>

    72420

    Android开发中计算器的sin、cos及tan值计算问题分析

    trailing operators while (expr.length() 0 && "+-/*".indexOf(expr.charAt(expr.length() - 1)) ! = -1) { expr = expr.substring(0, expr.length() - 1); } /*try { if (expr.length() trailing operators while (expr.length() 0 && "+-/*".indexOf(expr.charAt(expr.length() - 1)) ! = -1) { expr = expr.substring(0, expr.length() - 1); } /*try { if (expr.length() { /************** 添加的过滤代码 ***********/ expr=expr.replaceAll("(?

    57710

    扫码关注腾讯云开发者

    领取腾讯云代金券