原因
执行 shell脚本报错:
行4: 未预期的符号 `$’\r’’ 附近有语法错误
是从window复制文件到linux出现格式问题无法解析的
解决办法
安装 yum install -y dos2unix
[root@zjj101 soft]# yum install -y dos2unix已加载插件:fastestmirrorLoading mirror speeds from cached hostfile* base: mirrors.aliyun.com* epel: mirrors.tuna.tsinghua.edu.cn* extras: mirrors.aliyun.com* updates: mirrors.bfsu.edu.cn正在解决依赖关系--> 正在检查事务---> 软件包 dos2unix.x86_64.0.6.0.3-7.el7 将被 安装--> 解决依赖关系完成依赖关系解决======================================================================================================================Package 架构 版本 源 大小======================================================================================================================正在安装:dos2unix x86_64 6.0.3-7.el7 base 74 k事务概要======================================================================================================================安装 1 软件包总下载量:74 k安装大小:190 kDownloading packages:dos2unix-6.0.3-7.el7.x86_64.rpm | 74 kB 00:00:00Running transaction checkRunning transaction testTransaction test succeededRunning transaction正在安装 : dos2unix-6.0.3-7.el7.x86_64 1/1验证中 : dos2unix-6.0.3-7.el7.x86_64 1/1已安装:dos2unix.x86_64 0:6.0.3-7.el7完毕!
对文件进行转码
我对什么文件转码,就 dos2unix 文件名,比如说 我对xcall转码,就dos2unix xcall 就可以了
[root@zjj101 soft]# ls
data demo docker hadoop-2.7.2 hive-1.2.1 movie_info.txt myconf sortby-result tmp xcall xsync
[root@zjj101 soft]# dos2unix xcall
dos2unix: converting file xcall to Unix format ...
注意
如果这个文件你又从windows复制了新的东西进来,如果运行 shell脚本又提示未预期的符号 `$’\r’’ 附近有语法错误这个东西,那么再执行一次 上面的命令, 也就是 dos2unix xxxxxx命令 再次对xxxxxx文件进行转码
