-
运行工程报错误:`liporepo.sh: line 2:
- command not found
liporepo.sh: line 19: syntax error: unexpected end of file
Command PhaseScriptExecution failed with a nonzero exit code
`
由于.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。
我们可以查看该脚本文件的格式,方法是使用命令:vim liporepo.sh进入编辑文件界面,如下图所示。

直接输入":“,然后在”:"之后输入"set ff"如下图所示

回车即可看到脚本格式,如下图所示,可以看到当前脚本格式是dos。

我们需要把格式改为unix,方法是输入":set ff=unix",也可以输入":set fileformat=unix"如下图所示。

输入完之后,回车即可完成切换格式。然后我们再输入":set ff"来查看格式,如下图所示,可以看到当前脚本格式变成了我们想要的"unix"了。

输入:wq并回车,保存并退出编辑状态。

这个是把SDK工程生成的库文件拷贝到当前目录。分析为何文件格式会从uinx格式变成doc格式,很可能是用其他工具编辑过,默认保存为doc格式文件了。

文章讲述了在Linux环境下运行.sh脚本时遇到的错误,原因是文件格式为DOS而非UNIX。通过使用Vim编辑器,将文件格式转换为UNIX,解决了命令未找到和语法错误的问题。此问题可能源于文件被其他工具以DOS格式保存。

3万+

被折叠的 条评论
为什么被折叠?



