本文共 921 字,大约阅读时间需要 3 分钟。
今天早上用notepad写了个简单脚本,如下:
1 2 3 4 5 6 7 | [root@master ~] # vim /wanwan/nginx_limits.sh #!/bin/bash #nginx max open files-nums for pid in $( ps aux | grep nginx| grep - v grep | awk '{print $2}' ) do cat /proc/ ${pid} /limits | grep 'Max open files' done |
调试的时候居然报错,如下:
1 2 3 | [root@master ~] # bash /wanwan/nginx_limits.sh 'wanwan /nginx_limits .sh: line 4: syntax error near unexpected token ` do 'wanwan /nginx_limits .sh: line 4: ` do |
突然想到,可能是因为在windows下编辑的额,继续排查
使用vim -b进行编辑,发现文件每一行后面都多了一个
解决方法:
1 2 3 4 5 6 7 | 在Vim中解决这个问题,很简单,在Vim中利用替换功能就可以将“^M”都干掉,键入如下替换命令行: 1) vi -b setup.sh 2)在命令编辑行<就是: 按ESC键 然后 shift +:冒号>输入:%s/^M //g 注意:上述命令行中的“^M”符,不是“^”再加上“M”,而是由“Ctrl+ v ”、“Ctrl+M”键生成 这样替换掉以后,保存就可以执行了。当然还有其他的替换方式比如: a.一些linux版本有 dos2unix 程序,可以用来祛除^M。 b. cat filename1 | tr -d "/r" > newfile 去掉^M生成一个新文件 |
再次查看文件的信息:
我们发现换行符已经没有了,执行下脚本:
到此,完成