在shell脚本中,表示变量除了可以使用$a(a是一个变量),还可以使用${a}
那这两种表示方式有什么区别么?
花括号可以和其它字符或者字母区分开来。
>追加内容
我们发现使用>会把原来的内容覆盖。
我们使用>>就不会覆盖了:
这种方式我们发现追加了进去。
;符号的作用是可以执行多条命令:
| 管道符:
我们会把管道符前面的命令当作内容交给管道符后面的命令去处理。
&&:和java中的短路与运算逻辑一样
||:短路或
""输出变量值
重新编辑abc.txt里的内容。
规范一下,一般shell脚本还是以sh结尾的。
如果是单引号的话,会输出原内容。
``输出命令结果:
2>/dev/null错误输出:
错误的丢到垃圾桶,无底洞里,不会在控制台输出出来。
1>/dev/null :
错误的会输出,正确的不会显示,而是丢到垃圾桶里,无底洞里:
秒变计数器:
其它方式这里就不再做举例。
我们现在来进行变量之间的运算:
如果是小数会报错。
bc命令进行计算:
也可以使用管道符搭配bc命令一起来使用:
我们还可以使用scale进行指定保留几位小数:
但是scale对加法不起作用。
但是对除法有效,我们只有用除法/1进行运算就可以了:
bc的特性,0会被自动省略。
我们可以判断文件是否存在。
可以用-d判断是否存在路径。
也可以判断是否拥有某种权限。
这几个判断是必须使用整数型的。
1不是大于2的 但是仍然会显示等于,这就说明大于号小于号在整数型中是不适用的。
然后我们去看小数如何去做:
我们这里还是要借助bc计算器,成立输出1,不成立输出0;
输出变量应该适用双引号:
第二个脚本案例大家也可以试试。
$?的意思是上一条命令是否执行成功。