错误处理:Syntax error: Bad for loop variable
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误处理:Syntax error: Bad for loop variable相关的知识,希望对你有一定的参考价值。
1 错误描述
在linux中写了一个很简单的脚本
#!/bin/bash
for((i=1;i<24;i++));do
echo $i;
done;
但是用sh 跑这个脚本的时候,会报错
2 错误分析
原因是目前的linux将先前默认的bash shell 更换成了dash shell。
其表现为 /bin/sh 链接到了/bin/dash而不是传统的/bin/bash。
所以在使用sh执行检测的时候实际使用的是dash,而dash不支持这种C语言格式的for循环写法。
3 解决方法
3.1 将默认shell更改为bash
bash支持C语言格式的for循环
在选择项中选No
sudo dpkg-reconfigure dash
3.2 直接使用bash检测
3.3 使用dash支持的for循环格式
为了确保shell脚本的可移植性,直接更改shell脚本,使用dash支持的for循环格式
以上是关于错误处理:Syntax error: Bad for loop variable的主要内容,如果未能解决你的问题,请参考以下文章
Linux执行sh脚本报错: Syntax error: Bad fd number
Linux执行sh脚本报错: Syntax error: Bad fd number
Linux执行sh脚本报错: Syntax error: Bad fd number
syntax error: Bad for loop variable 解决办法
linux shell scripts:Syntax error: Bad for loop variable
error C2041: illegal digit ‘9‘ for base ‘8‘ | error C2059: syntax error: ‘bad suffix on number‘