一门开发语言,往往有两大部分做成:变量赋值,逻辑运算。而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 ],表示变量包含的文件是否存在。

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

标签: none

[网站公告]-[2024年兼职介绍]


添加新评论