报错处理: syntax error near unexpected token `$‘\r‘‘ (linux中的^M)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                报错处理: syntax error near unexpected token `$‘\r‘‘ (linux中的^M)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                1 問題描述
在windows 上使用MobaXTerm,在遠程linux服務器上寫腳本的時候,遇到了一個問題
windows操作系統(tǒng) ssh 工具介紹:MobaXterm_UQI-LIUWJ的博客-CSDN博客
我的腳本如下,是一個很簡單的腳本(trmf.sh)
#!/bin/bash for((i=1;i<24;i++));doecho $i; done;?在windows的git bash 下是可以跑的,但是在linux上則會出問題
2 解決問題
為什么會出現(xiàn)這個問題呢?我們在linux環(huán)境中用?vim看一下這個腳本
vim -b trmf.sh?發(fā)現(xiàn)每一行的末尾,會出現(xiàn)一個^M的東西
解決方法很簡單,在命令行里輸出這樣一行指令即可
sed -i 's/\r//g' trmf.sh然后便可以正常跑了
?再次 vim 這個程序 ^M已經(jīng)沒有了?
3 根本原因?
????????Windows 格式的文件,用 0D 0A (CR+LF)作為換行符,而Linux 的則是以0A(LF) 作為換行符
? ? ? ? 所以Windows 格式下的文本文件到了Linux 的話,換行符就會多出來一個 0D(CR) ,在Linux中顯示為 ^M
? ? ? ? 所以解決方法是在字符層面直接刪除 ^M 即可
總結(jié)
以上是生活随笔為你收集整理的报错处理: syntax error near unexpected token `$‘\r‘‘ (linux中的^M)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: python 笔记:argparse
- 下一篇: 错误处理:Syntax error: B
