Shell脚本(最坑爹的括号)

写过Sell脚本的同学都应该有这样的感触:偶尔多写了或者少写了一个空格,就会报出奇奇怪怪的错误,由于空格是不可见字符,因此排查此类错误最靠谱的方式是,不要犯这个错误。


Shell中有一个最基本的命令叫test,它可以测试数值、测试字符串和测试文件属性,是用得最多的命令,look:


当我们在执行分支语句、循环语句的时候,一般都离不开它,比如下面的脚本


#!/bin/bash

if test -e file && test -r file

then

cat file

fi


上述脚本的含义是:test一下文件file,如果存在并可读,就让它在屏幕上显示出来。但是上面那么写的确不好看。好看的代码应该是这样的:


#!/bin/bash

if [ -e file ] && [ -r file ]

then

cat file

fi


注意到:test 被改成成一对方括号 [ ] ,顿时好看多啦!可是你要看清楚,方括号的两边必须有空格,如果没有,那么等着被系统错误羞辱吧…… 


然而,有些地方又绝对不能有空格,坑你没商量,比如变量定义赋值:


name=Michael


上面的赋值号两边不能加空格,如果有空格,那么等着被系统错误羞辱吧……

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

干燥剂007860

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值