欢迎光临
我们一直在努力

shell脚本:Syntax error: Bad for loop variable错误解决方法

错误如下:

Syntax error: Bad for loop variable

 分析:
从 ubuntu 6.10 开始,ubuntu 就将先前默认的bash shell 更换成了dash shell;其表现为 /bin/sh 链接倒了/bin/dash而不是传统的/bin/bash。

allen@allen-lql ~/workspace/script $ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Aug 12 14:29 /bin/sh -> dash

所以在使用sh执行检测的时候实际使用的是dash,而dash不支持这种C语言格式的for循环写法。

解决办法:
1、将默认shell更改为bash。(bash支持C语言格式的for循环)

sudo dpkg-reconfigure dash

在选择项中选No

2、直接使用bash检测:

bash -n xxx.sh

3、为了确保shell脚本的可移植性,直接更改shell脚本,使用shell支持的for循环格式:

for a in `seq $num`
赞(0) 打赏
未经允许不得转载:欧欧colo教程网 » shell脚本:Syntax error: Bad for loop variable错误解决方法

更稳定的 国内物理服务器租用 机柜托管

促销 - 国内物理机 40核 64G内存 1T硬盘 ¥260

服务器促销国内物理机 40核 64G内存 1T硬盘 ¥260

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏