Shell关于空格那点事儿

本文详细探讨了Shell脚本编程中容易被忽视的空格问题,包括变量赋值时等号两边不能有空格、命令与选项间必须留空格以及若命令间缺少空格会导致的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近公司要用到shell 所以开始研究shell 研究了一天 找到了一些问题

空格,一个看不见的字符,很不起眼,也正由于不起眼,很多人经常忽略它,导致代码出错,却还找不着北。这里,我们来聊聊空格那点事儿

首先 赋值时‘=’两边不能有空格

[root@localhost baipengfei]# name = baipengfei
bash: name: command not found
[root@localhost baipengfei]# name= baipengfei
bash: baipengfei: command not found
[root@localhost baipengfei]# name =baipengfei
bash: name: command not found
[root@localhost baipengfei]# name=baipengfei
[root@localhost baipengfei]# echo $name
baipengfei
[root@localhost baipengfei]# 
做了一些尝试的确绝对不要有空格否则就等着报错吧。


再者命令和选项之间必须有空格,今天写一个shell脚本

if["$xx"-ne"$xx"]
then
   echo xxxxx
else 
   echo xxxxxx
fi



这样编写时错误的缺少空格

命令之间一定要有空格

正确的

if [ "$xx" -ne "$xx" ]
then
   echo xxxxx
else 
   echo xxxxxx
fi

不论少了那一个空格都会报错

最后管道命令两边的空格是可有可无的无所谓我就不去验证了





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值