linux上运行shell脚本,出现No such file or directory

今天在编写py脚本时,我现在vscode下编写完成,然后拷贝到linux /home/ubuntu目录下,由于我们需要脚本直接运行,所以需要在前面加入一行语句#!/usr/bin/env python(或者#!/usr/bin/python),指定我的脚本用python运行。
结果运行结果提示我:

daicy@ubuntu#detect_bond.py:No such file or directory

一开始以为是自己的脚本有问题,反复检查,结果认为自己的脚本编写无误,后面上网查找发现错误原因是:文件格式是DOS,而非UNIX格式。Windows格式下,换行符是CRLT,使得第一行变成了#!/usr/bin/env python\015(CR的ascaii 15)这样就会导致文件找不到,进而报错。

1.在windows下,使用notepad++,将文件格式改为unix就可以了

2.在linux下,使用vim打开文件,使用:set ff查看文件格式,你会发现其格式是dos的,然后我们使用:set ff=unix就可以将文件格式改为unix,如果不放心,可以使用:set ff查看,就会发现文件格式已经变为unix,最后保存退出即可。

猜你喜欢

转载自blog.csdn.net/qq_34355232/article/details/81561823