趣谈shell系列之九:大道至简

栏目:趣谈shell 作者:admin 日期:2018-10-28 评论:0 点击: 143 次

一门开发语言,往往有两大部分做成:变量赋值,逻辑运算。而shell在这两个方面做到了极简:

(1)变量赋值的极简做法,中间不能有空格,真正做到了极简:
变量的赋值形式是:var=value,而var = value,则表示相等

(2)逻辑运算的极简做法,连if都可以省略掉:
[ condition ] && action; 如果condition条件为真,则执行action
[ condition ] || action; 如果condition条件为假,则执行action
最厉害的是这个写法:命令1 && 命令2 || 命令3: 当命令1成功时会执行命令2, 当命令1失败时,会执行命令3

其实,shell的极简思想无处不在:
(1)每个变量的值都是字符串,无论赋值的时候是否添加引号,值都是以字符串的形式存储的。
(2)字符串的比较形式是双中括号[[ ]]。判断是否是空字符串,则用:[[ -z $var ]],判断非空,则用[[ -n $var ]]
(3)变量虽然是字符串存储,但是依然可以进行算数比较:[$var1 -gt 0 -a $var2 -lt 10],表示: $var1 > 0 and $var2 < 10 
(4)变量虽然是字符串存储,但是依然可以当做文件来进行检测:[ -e $var ],表示变量包含的文件是否存在。

总之,一个字符串存储的变量可以代替三种类型:字符串类型,数值类型,文件类型。

网站公告
欢迎加入金燕知识社群,更多介绍请查阅:知识社群

趣谈shell系列之九:大道至简:等您坐沙发呢!

发表评论


------====== 本站公告 ======------
金丝燕网,即将迎来四周年!