问题原因:
Linux和windows下的回车换行符不兼容
三种行尾格式如下:
- unix为: <LF> : /n
- windows为: <CR><LF> : /r/n
- mac为: <CR> : /r
所以:这也是为什么window将<CR><LF>的文件转移到unix上会出现syntax error near unexpected token `$’do\r”的原因。
问题解决:
1、在windows上可以用文本编辑器查看所有字符,例如notepad++,视图->显示符号->显示所有符号,如下:
在每行的结尾显示了CRLF的符号问题正是由此产生的。
2、用文本编辑器解决办法,eclipse等编辑器都可以解决,拿notepad++来说,编辑->档案格式转换->转换为UNIX格式:
进行转换之后就成了如下:
再放到linux上运行就不会出现以上报错了。
3、使用dos2unix工具进行处理。
再linux上安装dos2unix工具:
- sudo apt-get install dos2unix
- yun install dos2unix
安装成功后可以定义一个shell脚本,或者手动执行一下命令
dos2unix *.sh
就会看到:dos2unix: converting file eval1.sh to Unix format ...
就将这个文件转换为了linux下的执行文件了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2021-03-02 python文件 启动django项目