【发布时间】:2017-01-04 20:20:44
【问题描述】:
我有一个简单的 bash 脚本来运行 mongodb:
#!/bin/bash
sudo mongod --dbpath data/db
echo "Mongo is running!"
在终端中,我执行:
。 ./mongo.sh
我确定目录是正确的,并且我已经对 751 拥有 CHMOD 权限,所以我应该能够执行脚本。但是我得到了这个错误:
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 data/db”时,命令执行没有问题,那么我做错了什么?
【问题讨论】:
-
我认为这可能与shell脚本执行的“子进程”有关?但我真的不确定我以前从未写过 bash 脚本......
-
我建议添加data/db的完整路径。
-
是的!那行得通……我不敢相信我没有想到这一点。如果您想要积分,请添加为答案,否则谢谢!