今天在一台Ubuntu14.04的机子上运行脚本出现:Update.sh: Syntax error: Bad for loop variable
具体行: for((i=1;i<=9;i++));do
此脚本在其他机子(UBuntu16.04)上可以正常运行,
以上代码对于标准的bash来说没有错误,原因在于系统默认用的是dash,所以报错。
原因是Ubuntu为了加快开机速度,用dash代替了bash,所以导致了错误。wiki 里面有官方的解释,https://wiki.ubuntu.com/DashAsBinSh,主要原因是dash更小,运行更快,还与POSIX兼容。
取消dash办法:sudo dpkg-reconfigure dash 执行命令后在界面选项中选No,回车确定就OK了。
检查是否已切换到bash上:echo $SHELL ,如是/bin/bash即切换成功。
最后
以上就是风趣酸奶最近收集整理的关于Ubuntu14.04 shell 语法报错:Syntax error: Bad for loop variable的全部内容,更多相关Ubuntu14.04内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复