mongodb指令碼從windows上傳到linux無法執行__linux

來源:互聯網
上載者:User
一:問題描述

這幾次執行mongodb初始化指令碼,發現一個問題:

將windows下的指令碼上傳到Linux下後,執行時,會報錯。

如:

mongo -u root -p mongo123 admin --port 8000 < initdata-bmis.sql > initdata-bmis.log

 initdata-bmis.log檔案裡有很多錯誤:

SyntaxError: Unexpected token ILLEGAL 但是直接複製粘貼指令碼內容在命令列裡執行卻不報錯。或者將內容複寫粘貼到Linux下建立的檔案裡,執行也不報錯。

且該指令碼確定沒有語法錯誤。


二:出錯原因

格式問題,windows和linux/unix的換行和空行符是不同的。


三:解決辦法

方法一:

在notepad++中編輯時雖然是以utf8格式編碼,但是還有個地方是需要轉碼的,windows和linux/unix的換行和空行符是不同的,所以在windows下編輯的指令碼放到linux上就運行不了了,後查到在notepad++中可以進行轉碼。

方法二:

在Linux上安裝dos2unix,然後進行轉碼

 yum install -y dos2unix

dos2unix initdata-bmis.sql

再次執行就不報錯了:

mongo -u root -p mongo123 admin --port 8000 < initdata-bmis.sql > initdata-bmis.log



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.