Shell 脚本中空格的使用

 我来答
舒适还明净的海鸥i
2022-07-06 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:70.3万
展开全部

学 Kali 渗透的时候 Shell 脚本差点把我搞疯了,不停报错。因刚刚接触 Linux 和 Shell,没有系统学过,所以很多报错都不知道怎么回事。

对着视频敲脚本,视频中空格有没有也不怎么看得出来,没想到是空格的问题。后来查才发现 Shell 对空格有特别严格的要求。

参考: shell脚本中空格的注意问题

1. =

赋值时:两边不能有空格
i=1
i=$((i+1))

比较时:两边必须有空格
if [ $a = $b ]

2. if

整数比较时:中括号前后必须有空格
if [ a -xx b ]

参考: Linux#Shell#if [ $# -ne 1 ];then 是什么意思?

看来双括号还有问题…再学吧…

1. 变量名、等号、值之间不能有空格

2. 变量的引用是用 $ 符号加上变量名

echo ${a}

变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,建议给所有变量加上花括号,这是个好习惯,既便于阅读,又不易出错。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式