字符0D再度惹出麻煩

  前次是移植Redhat遇到\r來搗亂,此次編寫Linux腳本又遇到字符0D來惹麻煩。windows


  這個腳本是從網上一個參考案例中複製過來,想省點事,結果比本身敲10遍還費事。bash


  很簡單的命令:ide

  # /bin/bashunix

  DB_USER="root"
  echo $DB_USERget

  DB_USER1=$DB_USER""==it

  echo $DB_USERclass

  結果輸出是:變量

  root方法

  ==ot腳本


  查了好一陣,才發現Linux中每行結束只有0A,而網上覆制過來後,在windows系統中會變成0D 0A,多出來的0D會附加在變量上,因爲不可見,所以被我忽略。可是0D被Linux系統解釋爲回到行頭,因而就從新輸出,替代了原來的字符。


  怎麼辦呢?只好多長一個心眼,在Linux下手工敲賦值語句了。另一個方法是安裝dos2unix,將windows下編輯的文本中0D 0A改成0A。


  安裝dos2unix的命令:sudo apt-get install dos2unix


  而後,dos2unix 腳本名稱

相關文章
相關標籤/搜索