脚本调试:一次换行符导致的报错
发布时间:2020-12-15 16:20:19 所属栏目:安全 来源:网络整理
导读:今天早上用notepad写了个简单脚本,如下: [root@master~]#vim/wanwan/nginx_limits.sh#!/bin/bash#nginxmaxopenfiles-numsforpidin$(psaux|grepnginx|grep-vgrep|awk'{print$2}')docat/proc/${pid}/limits|grep'Maxopenfiles'done 调试的时候居然报错,如下
今天早上用notepad写了个简单脚本,如下: [root@master~]#vim/wanwan/nginx_limits.sh #!/bin/bash #nginxmaxopenfiles-nums forpidin$(psaux|grepnginx|grep-vgrep|awk'{print$2}') do cat/proc/${pid}/limits|grep'Maxopenfiles' done 调试的时候居然报错,如下: [root@master~]#bash/wanwan/nginx_limits.sh 'wanwan/nginx_limits.sh:line4:syntaxerrornearunexpectedtoken`do 'wanwan/nginx_limits.sh:line4:`do 突然想到,可能是因为在windows下编辑的额,继续排查
使用vim -b进行编辑,发现文件每一行后面都多了一个 解决方法: 在Vim中解决这个问题,很简单,在Vim中利用替换功能就可以将“^M”都干掉,键入如下替换命令行: 1)vi-bsetup.sh 2)在命令编辑行<就是:按ESC键然后shift+:冒号>输入:%s/^M//g 注意:上述命令行中的“^M”符,不是“^”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”键生成 这样替换掉以后,保存就可以执行了。当然还有其他的替换方式比如: a.一些linux版本有dos2unix程序,可以用来祛除^M。 b.catfilename1|tr-d"/r">newfile去掉^M生成一个新文件 再次查看文件的信息:
我们发现换行符已经没有了,执行下脚本:
到此,完成 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |