问题解决

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();

 

 

 

 

 

 

posted @ 2018-03-08 15:27  总被人想的静静  阅读(783)  评论(0编辑  收藏  举报