shell 脚本,在调试时,FOR循环那行代码,总是出现错误syntax error near unexpected token do(转) 这种情况发生的原因是因为你所处理的文件换行符是dos格式的”\r\n” 可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m 需要转换成linux/unix格式的”\n” 具体转换办法就是转换换行符 可...
shell脚本syntax error near unexpected token `done' 1、修改文件类型 执行: vi finddir.sh 输入 :set ff 如果fileformat=dos ,修改为unix: :set ff=unix 执行保存命令: :wq 2、删除隐藏字符 用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M 因为MS-DOS及Windows是回车+换行来表示换...
shell脚本syntax error near unexpected token `done' 1、修改文件类型 执行:vi finddir.sh输入:set ff如果fileformat=dos ,修改为unix::set ff=unix执行保存命令::wq 2、删除隐藏字符 用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M因为MS-DOS及Windows是回车+换行来表示换行,因此在Linu...
用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下用VC写的代码,行尾后的“^M”符号,表示的是符。 在Vim中利用替换功能就可以将“^M”都干掉,键入如下替换命令行:1)vi -b setup.sh2)在命令编辑行 输入:%s...
vi finddir.sh 输入 :set ff 如果fileformat=dos ,修改为unix: :set ff=unix 执行保存命令: :wq 2、删除隐藏字符 用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M 因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下用VC写的代码,行尾后的“^M”符号,表...
1、修改文件类型 执行:vi finddir.sh输入:set ff如果fileformat=dos ,修改为unix::set ff=unix执行保存命令::wq 2、删除...
今天写了个shell脚本,运行报错“syntax error near unexpected token”,脚本语法没有问题,最后发现了问题。 用命令vi -b 打开你的SHELL脚本文件,你会。发现每行脚本最后多了个^M。 老式的电传打字机使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车,ASCII码为0D),另一个字符把纸上移一行 (称为...
一、syntax error near unexpected token `do 1定义数组后array_name=(value0 value1 value2 value3)通过array_name[0]打印出来的是value0 value1 value2 value3而不是value0 2执行下列语句时 do echo "hello" done 显示syntax error near unexpected token `do ...
1.网上搜了下,参考:linux shell脚本报错:syntax error near unexpected token ` 然后去notepad++中,视图->显示符号->显示所有符号,然后就看到了预料到的,所有的回车换行都是windows的CR LF: 得知是Linux和windows下的回车换行符不兼容的问题。 所以,剩下的就是去将windows下面的CR LF,转换为Linux下面的LF,即可。
参考: https://www.cnblogs.com/Cherie/p/3200288.html运行shell脚本: 出现错误: 原因:在windows环境下编写的shell脚本的换行符CRLF和linux的LF不匹配。 解决:更换换行格式就好 visual studio 编辑--高级--修…