2016-08-28 223 views
0

我有一个简单的bash脚本来执行MongoDB:bash脚本不执行mongod的命令

#!/bin/bash 
sudo mongod --dbpath data/db 
echo "Mongo is running!" 

在终端,我执行:

. ./mongo.sh

我确信,该​​目录是正确的,我已经将我的权限CHMOD改为751,所以我应该能够执行脚本。而是我得到这个错误:

2016-08-28T16:15:15.311-0400 I CONTROL [initandlisten] allocator: system 
2016-08-28T16:15:15.311-0400 I CONTROL [initandlisten] modules: none 
2016-08-28T16:15:15.311-0400 I CONTROL [initandlisten] build environment: 
2016-08-28T16:15:15.311-0400 I CONTROL [initandlisten]  distarch: x86_64 
2016-08-28T16:15:15.311-0400 I CONTROL [initandlisten]  target_arch: x86_64 
2016-08-28T16:15:15.311-0400 I CONTROL [initandlisten] options: { storage: { dbPath: "data/db" } } 
2016-08-28T16:15:15.312-0400 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory data/db not found., terminating 
2016-08-28T16:15:15.312-0400 I CONTROL [initandlisten] dbexit: rc: 100 
Mongo is running! 

当我在shell窗口中执行该命令运行“的mongod --dbpath数据/ DB”没有问题,所以我在做什么错?

+0

我认为这可能与shell脚本执行的“子进程”有关吗?但我真的不知道我从来没有写过bash脚本...... – arbabk

+1

我建议将完整路径添加到data/db。 – Cyrus

+0

是的!这工作...我不相信我没有想到这一点。如果你想要点,请添加为答复,否则谢谢你! – arbabk

回答

1

我建议将完整路径添加到data/db