2016-08-28 269 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