逻辑表达式

常见的关系运算符(if else和case语句)

会有一股神秘感。 提交于 2019-11-29 10:58:09
写在前面的话 说起关系运算符,真的是满心伤痕,这里有一个优先级的问题:关系运算符的优先级别低于算数运算符的优先级别。 关系运算符种类 (1) a<b a小于b (2) a>b a大于b (3) a<=b a小于或者等于b (4) a>=b a大于或者等于b 关系运算符使用意义 在进行关系运算时,如果申明的关系是假的( false),则返回值是0,如果申明的关系是真的(true),则返回值是1,如果某个操作数的值不定,则关系是模糊的,返回值是不定值。 关系运算符与算数运算符优先级 所有的关系运算符都有着相同的优先级别。关系运算符的优先级别低于算数运算符的优先级别。见下例: //表达意义相同 a<size-1 a<(size-1) //表达意义不同 size-(1<a) size-1<a 当表达式 size-(1<a)进行运算时,关系表达式先被运算,然后返回值0或1被size减去。而表达式size-1<a进行运算时,size先被减去1,然后再同a相比。 if-else 条件分支语句 if-else 条件分支语句的作用是根据指定的判断条件是否满足来确定下一步要执行的操作。它在使用时可以采用如下三种形式: ( 1)if(<条件表达式>) 语句或语句块; 在 if-else 条件语句的这种使用形式中没有出现else项,这种情况下条件分支语句的执行过程是: 如果指定的 <条件表达式>成立

shell脚本的条件测试与比较

喜欢而已 提交于 2019-11-29 03:26:24
博文大纲: 一、shell脚本的条件测试 二、文件测试表达式 三、字符串测试表达式 四、整数二元比较操作符 五、逻辑操作符 通常,在bash的各种条件结构和流程控制结构中都要进行各种测试,然后根据测试结果执行不同的操作,有时也会与if等条件语句相结合,来完成测试判断,以减少程序运行的错误。 执行条件测试表达式后通常会返回“真”或“假”,就像执行命令后的返回值为0表示真,非0表示假一样。 一、shell脚本的条件测试 在bash编程里,条件测试常用的语法形式如下: 语法1:test <测试表达式>:这是利用test命令进行条件测试表达的方法,test命令和“<测试表达式>”之间至少有一个空格。 语法2: [ <测试表达式> ]:这是通过[ ](单中括号)进行条件测试表达式的方法,和test命令的用法相同,这是比较推荐的一种方法。[ ]的边界和内容之间至少有一个空格。 语法3:[[ <测试表达式> ]]:这是通过[[ ]](双中括号)进行条件测试表达式的方法,是比test和[ ]更新的语法。[[ ]]的边界和内容之间至少有一个空格。 语法4:(( <测试表达式>)):这是通过(( ))(双小括号)进行条件测试表达式的方法,一般用于if语句里。(())(双小括号)两端不需要有空格。 语法1中的test命令和语法2中的[ ]是一样的。语法3中的[[]]是扩展test命令,语法4中的(()

tcpdump中文帮助

◇◆丶佛笑我妖孽 提交于 2019-11-28 23:37:52
TCPDUMP(8) System Manager's Manual TCPDUMP(8) NAME tcpdump - 转储网络上的数据流 总览 (SYNOPSIS) tcpdump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ expression ] 描述 (DESCRIPTION) Tcpdump 打印出 在某个 网络界面 上, 匹配 布尔表达式 expression 的报文 的 报头. 对于 SunOS 的 nit 或 bpf 界面: 要 运行 tcpdump , 你 必须 有 /dev/nit 或 /dev/bpf* 的 读访问 权限. 对于 Solaris 的 dlpi: 你 必须 有 网络仿真设备 (network pseudo device), 如 /dev/le 的 读访问 权限. 对于 HP-UX 的 dlpi: 你 必须 是 root, 或者 把它 安装成 root 的 设置uid 程序. 对于 IRIX 的 snoop: 你 必须 是 root, 或者 把它 安装成 root 的 设置uid 程序. 对于 Linux: 你 必须 是 root, 或者 把它 安装成 root

一条 SQL 在 Apache Spark 之旅

青春壹個敷衍的年華 提交于 2019-11-26 11:28:30
转载自过往记忆大数据 https://www.iteblog.com/archives/2561.html Spark SQL 是 Spark 众多组件中技术最复杂的组件之一,它同时支持 SQL 查询和 DataFrame DSL。通过引入了 SQL 的支持,大大降低了开发人员的学习和使用成本。目前,整个 SQL 、 Spark ML、Spark Graph 以及 Structured Streaming 都是运行在 Catalyst Optimization & Tungsten Execution 之上的,如下图所示: 所以,正常的 SQL 执行先会经过 SQL Parser 解析 SQL,然后经过 Catalyst 优化器处理,最后到 Spark 执行。而 Catalyst 的过程又分为很多个过程,其中包括: Analysis:主要利用 Catalog 信息将 Unresolved Logical Plan 解析成 Analyzed logical plan; Logical Optimizations:利用一些 Rule (规则)将 Analyzed logical plan 解析成 Optimized Logical Plan; Physical Planning:前面的 logical plan 不能被 Spark 执行,而这个过程是把 logical plan