shell 腳本,在調試時,FOR循環那行代碼,總是出現錯誤syntax error near unexpected token do(轉)


這種情況發生的原因是因為你所處理的文件換行符是dos格式的”\r\n” 
可以使用cat -v 文件名 來查看換行符是否是,如果是上述的,則行結尾會是^m 
需要轉換成linux/unix格式的”\n” 
具體轉換辦法就是轉換換行符 
可以用sed命令處理一下文件,命令如下: 
sed ‘s/\r//’ 原文件 >轉換后文件 
sed 命令的參數中 ”代表決定引用參數,不允許參數中的值讓shell解釋,s代表替換 /后面跟的是被替換的內容,后面的//代表替換后的內容為空 
推薦使用EditPlus或者UltraEdit,使用這些文本編輯工具,在保存時,可以選擇保存的文字編碼類型,比如選擇UNIX格式換行符。我比較喜歡EditPlus的join lines功能,把多行的值變成一個邏輯行,便於寫到shell腳本中作為循環的變量

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM