for循环shell脚本语法错误:意外字(预期 “做”)

问题描述:

for循环shell脚本语法错误:意外字(预期 “DO”)for循环shell脚本语法错误:意外字(预期 “做”)

#!/bin/sh PRO="a t d e k " for file in $PRO do #this will be line 6 echo $file done

输出:6号线:语法错误:意想不到的词(预期“做”)

+0

你可能在你的文件DOS行结束使用DOS2UNIX的命令,从而使shell看到'do \ r'而不是'do'。 – chepner

+0

我如何验证? –

+0

@chepner,是的..当我在vi编辑器中打开它时找到了一个^ M。它帮助我解决了这个问题。后面将参照使用DOS2UNIX的命令http://linuxcommand.org/man_pages/dos2unix1.html的 –

发现了一个^ M,当我在vi编辑器打开它。它帮助我解决了这个问题。

所以这是一些像这样的事情时,我在vi编辑器中打开它

for file in $PRO 
    do^M       
     echo $file 
    done^M 

后面将参照computerhope.com/unix/dos2unix.htm