Day: February 8, 2018

Shell:无比强大的shell之json解析工具jq , Linux命令行解析json, jq解析 json 实例

  JSON是前端编程经常用到的格式,对于PHP或者Python,解析JSON都不是什么大事,尤其是PHP的json_encode和json_decode,干的相当的漂亮。Linux下也有处理处理JSON的神器:jq。 对于JSON格式而言,jq就像sed/awk/grep这些神器一样的方便,而也,jq没有乱七八糟的依赖,只需要一个binary文件jq,就足矣。下面我们看下jq的使用。 1. 安装 官网:https://stedolan.github.io/jq/download/ Linux jq 1.5 is in the official Debian and Ubuntu repositories. Inst… Read More

Linux Shell系列教程之(二十) Shell 脚本中一些特殊符号:# ; ;; . , / \\ ‘string’| ! $ ${} $? $$ $* \”string\”* ** ? : ^ $# $@ `command`{} [] [[]] () (()) || && {xx,yy,zz,…}~ ~+ ~- & \\<...\\> + – %= == !=

在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ ‘string’| !   $   ${}   $? $$   $* \”string\”* **   ? : ^ $#   $@ `command`{}   [ ()   (()) ||   && {xx,yy,zz,…}~   ~+   ~-   &   \\<…\\>   + – %=   ==   != # 井号 (comments) 这几乎是个满场都有的符号,除了先前已经提过的\”第一行\” #!/bin/bash 井号也常出现在一行的开头,… Read More

Linux Shell系列教程之(十九) Shell test 命令

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真 实例演示: num1=100 num2=100 if test $[num1] -eq $[num2] then echo '两个数相等!' else echo '两个数不相等!' fi 输出结果: 两个数相等! 代码中的 执行基本的算数运算,如: #!/bin/bash a=5 b=6 result=$[a+b] # 注意等号两边不能有空格 echo "result 为: $result" 结果为: result 为: 11 字符串测试 参数… Read More

Linux Shell系列教程之(十八) Shell 基本运算符

Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 例如,两个数相加(注意使用的是反引号 ` 而不是单引号 ‘): #!/bin/bash val=`expr 2 + 2` echo "两数之和为 : $val" 执行脚本,输出结果如下所示: 两数之和为 : 4 两点注意: 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。 完整的表达式要被 ` ` 包含,注意这… Read More