初学 linux shell 遇到的问题

本文介绍了初学者在使用 Linux Shell 编程时常见的错误:忽略命令间的空格。通过具体示例展示了如何避免这类错误,并解释了为什么空格在 Shell 脚本中至关重要。

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

初学 linux shell 遇到的问题

linux shell中非常重要的东西是“空格”
一条命令行中,即使后面是符号(如 [ 、{ 、< 等)也要用空格隔开


`#!/bin/bash
#
echo'Hello,bash!'
echo'Hello,bash!'
exit 0`

编译器会报错
nh.sh: 行 3: echoHello,bash!: 未找到命令 nh.sh: 行 4: echoHello,bash!: 未找到命令
再如

#!/bin/bash
#
read anwser
if[ answer=Y ]; then
	echo "Y"
	
fi

错误为
(输入)Y

linux.sh: 行 4: 未预期的符号 `then' 附近有语法错误
linux.sh: 行 4: `if[ answer=Y ]; then

出现以上问题的原因是linux shell其实相当于命令文本,与直接在终端上输入是一样的,如我们在终端上会这样写 echo “hello world”,而不会这样写 echo"hello world",所以在命令语句后面都要添加空格将他们分开,
而上述代码中 linux shell 的命令语句后面都没有添加空格,第一段代码中 echo 与 ’ 之间缺少了空格,所以导致了错误,第二段代码中 if 与 [ 缺少了空格,因为上述代码没有其他语法错误,所以修改的方法就是在命令语句后面添加空格即可。
一般学了c/c++ 后,初学 linux shell 的人容易犯此类错误,而且不容易找出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值