我不知道爲什麼在命令行中運行OK的命令在bash腳本中出現錯誤。MongoDB恢復在CLI上工作,但不在BASH內
mongorestore -h XXXX.mongohq.com:10025 -u USER -p PASS -db pr4 DIC24/pr4
該工程確定的CLI,但bash腳本中,我得到:
週一12月24日19時48分52秒錯誤:不知道該怎麼辦的文件[DIC24/PR4]
我不知道爲什麼在命令行中運行OK的命令在bash腳本中出現錯誤。MongoDB恢復在CLI上工作,但不在BASH內
mongorestore -h XXXX.mongohq.com:10025 -u USER -p PASS -db pr4 DIC24/pr4
該工程確定的CLI,但bash腳本中,我得到:
週一12月24日19時48分52秒錯誤:不知道該怎麼辦的文件[DIC24/PR4]
很難說不知道連接屏幕的所有細節,但要注意特殊的bash字符。當我通過Bash Scripting運行某些控制檯命令時,我遇到了一些問題,因爲其中一個憑據包含感嘆號。
另一個想法:你是從它存儲的目錄執行腳本嗎?
我發現BASH在另一行中更改了工作目錄(我正在編輯由其他目錄創建的bash文件),因此腳本正在另一個目錄中運行。
確實,就像cronjobs(比如PHP cronjob)bash實際上一樣將目錄改變爲'/'。您可以通過設置系統路徑將您的目錄添加到路徑中,但通常情況下最好是對其進行編碼。 – Sammaye