问题解决
1.执行shell脚本提示“-bash: ./checkP.sh: /bin/sh^M: bad interpreter: No such file or directory”解决方法
在Linux上的很多操作一般都是用脚本来实现了,特别是线上的服务器,不用脚本是,直接在上面敲是很危险的,一不小心,手一抖, 那就完了。但是,很多朋友自己的笔记本用的都是windows系统,这真把Ubuntu做为自己笔记本系统的人不会很多,不过我还是喜欢Ubuntu,之 前在Ubuntu上写了一些脚本,并且试下来也没什么问题,然后就把这些脚本放到了windows系统的工作机上去了,之后呢,又在上面编辑过了,结果, 就出现了现在我遇到的问题,我把windows上的脚本弄到Linux上,非常熟练的,chmod u+x test.sh ,./test.sh 结果,报错了:/bin/bash^M: bad interpreter,从这个提示来看是/bin/bash后面多了一个^M,我也打开看过,没见到^M,后来仔细一想,原来问题可能出现在文件格式 上,
方法1:
vi test.sh :set ff? fileformat=dos
上面的提示,显示这个文件的格式是dos的,问题原来就是出来这边,下面就简单了,只要:set fileformat=unix 就可以了!
接下来我的shell脚本就可以跑起来了!
方法2:
yum -y install dos2unix dos2unix 文件名
2.MongoDb的“not master and slaveok=false”错误及解决方法
> show dbs 2018-03-08T16:50:35.430+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435, "codeName" : "NotMasterNoSlaveOk" } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1 shellHelper.show@src/mongo/shell/utils.js:769:19 shellHelper@src/mongo/shell/utils.js:659:15 @(shellhelp2):1:1
错误代码:
Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 }
这是正常的,因为mgset-742285:SECONDARY是不允许读写的,如果非要解决,方法如下:
rs.slaveOk();
安静等阳关