运行sh文件报错:转换sh文件为unix格式

在linux系统下面运行sh文件的时候出现如下报错,看上去是./40/%d.bmp的问题,实际上是文件格式的问题。

Input #0, rawvideo, from 'xxx.yuv':
  Duration: 00:00:01.20, start: 0.000000, bitrate: 622080 kb/s
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080, 622080 kb/s, 25 tbr, 25 tbn, 25 tbc
'NULL @ 0x64b51c0] Unable to find a suitable output format for './40/%d.bmp
: Invalid argument

1 使用notepad++

初始的界面如下,看不出问题:

运行sh文件报错:转换sh文件为unix格式

使用视图->显示符号>显示所有字符

运行sh文件报错:转换sh文件为unix格式

可以看到在默认的情况下windows的格式会在段落末尾同时有CR、LF,但是unix系统不一定能正常读取。

运行sh文件报错:转换sh文件为unix格式

因此选择编辑->文档格式转换->转为Unix。

  运行sh文件报错:转换sh文件为unix格式

最终可以看到段落的结尾是只有LF。

 运行sh文件报错:转换sh文件为unix格式

2 vi/vim更改

用vi/vim打开文件chaifen.sh之后,在命令模式下输入

:set fileformat=unix


 

成功!!

上一篇:7-7 哈利·波特的考试 (25 分)


下一篇:【无标题】贪吃蛇