问题:在linux系统中提交shell脚本时有时会出现以下报错:
-bash: syntax error near unexpected token `newline'
或者
问题出现原因:在windows下编译过的文件换行符为^M$,而linux系统识别换行符为^U$, 所以在Windows系统编辑的脚本在Linux中无法运行。
可以通过以下指令看到换行符情况:
cat -A name.sh
问题解决:利用dos2unix进行转换
下载dos2unix:conda install -c bioconda dos2unix
使用:dos2unix name.sh
运行结束上述指令后可再次通过cat -A name.sh查看变换情况。
再次提交脚本,就没有报错啦!