syntax error near unexpected token '$'\r''

原因:

  1. 因爲你所處理的文件換行符是dos格式的”\r\n” ;

  2. 可以使用cat -v 文件名 來查看換行符是否是,如果是上述的,則行結尾會是^m 需要轉換成linux/unix格式的”\n”;

  3. 具體轉換辦法就是轉換換行符 。

可以用sed命令處理一下文件,命令如下: 

  1. sed ‘s/\r//’ 原文件 >轉換後文件 ;

  2. sed 命令的參數中 ”代表決定引用參數,不允許參數中的值讓shell解釋,s代表替換 /後面跟的是被替換的內容,後面的//代表替換後的內容爲空 ;

  3. 推薦使用EditPlus或者UltraEdit,使用這些文本編輯工具,在保存時,可以選擇保存的文字編碼類型,比如選擇UNIX格式換行符;

  4. 我比較喜歡EditPlus的join lines功能,把多行的值變成一個邏輯行,便於寫到shell腳本中作爲循環的變量。

 sed 's/\r//' xxx.sh > xxx.sh

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章