在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识。
查看脚本文件是dos格式还是unix格式的几种办法。
(1)cat -A filename 从显示结果可以判断,dos格式的文件行尾为^M$,unix格式的文件行尾为$。
(2)od -t x1 filename 如果看到输出内容中存在0d 0a的字符,那么文件是dos格式,如果只有0a,则是unix格式。
(3)vi filename打开文件,执行 : set ff,如果文件为dos格式在显示为fileformat=dos,如果是unxi则显示为fileformat=unix。
解决方法:
(1)使用linux命令dos2unix filename,直接把文件转换为unix格式
(2)使用sed命令sed -i "s/\r//" filename 或者 sed -i "s/^M//" filename直接替换结尾符为unix格式
(3)vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。
解决“/bin/bash^M: bad interpreter: No such file or directory”
-
mysql批量补充uuid, Function UUID() and REPLACE(), can't work together
mysql批量补充uuid,当mysql字符集编码为uftmp4,查询replace(uuid(),"-","")一致,就是所有的uuid经过replace都会成相同的uuid
-
Suspicious namespace and prefix combination [NamespaceTypo]
Error: Suspicious namespace and prefix combination [NamespaceTypo] when I try create Signed APK
-
gradle 排除jar包依赖
gradle 排除jar包依赖
-
根据nginx的access_log查看接口请求时间
配置nginx,根据nginx的access_log查看接口请求时间
-
nginx系列-nginx日志配置总结
nginx系列-nginx日志配置总结
-
ueditor 特殊符号转义
几个月前,就有同事跟我反馈,说磨途歌的留言板有问题。当时看了一下,她用的是谷歌浏览器,确实打不出中文,才按下一个字母,英文字母就从输入法的输入框中直接跳出来了,更换火狐浏览器就没这个问题。很奇怪的是,在我电脑上的火狐浏览器跟谷歌浏览器都没有问题,一开始还以为是她电脑的问题,就没在意了。
-
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
-
ffmpeg去除水印
ffmpeg去除水印
-
FFMPEG 实现混音,加水印,加文字,模糊水印任意滤镜组合
FFMPEG,实现混音,加水印,加文字,模糊水印,任意滤镜组合
-
NodeJS实现视频转码
视频转码就是一个先解码,再编码的过程,从而将原来的视频转换成我们需要的视频。这种转换可能包括各式(mp4/avi/flv等)、分辨率、码率、帧率等。