[問題] 用wget抓回來的文字檔和手動編輯會有不同

看板Linux作者 (Eric Chang)時間10年前 (2013/11/21 13:45), 編輯推噓6(608)
留言14則, 8人參與, 最新討論串1/1
之前因為手邊的幾台工作站一直被攻擊 在網路上找了個SCRIPT來修改 會先讀取一個檔案,檔案內容都是IP/MASK的格式,然後加入FIREWALL去阻擋 一直以來都沒有問題,但是因為每天都要新增修改好幾台的內容 想說都改成來某一台工作站抓回去,那我就只要維護一份就好了 可是改完SCRIPT之後,發現要加入iptables時,會發生錯誤 經過多次除錯,確認問題出在wget 這邊 只要是wget回來的檔案,就會出錯。 但是同樣的內容,我如果在本機編輯好,然後用vi開新檔再貼上 一樣的程式就可以很順利的跑,整個超詭異的。 操作過程的影片 http://www.flickr.com/photos/chang0206/10973356056/ 簡單說,我在本機用notepad++編輯了一個檔案 bot 存到\\192.168.10.243\wwwroot\底下 然後在一台工作站上 用wget把 bot給抓回來 然後執行script 會去讀取bot的內容加入iptables的CHAIN 影片中可以看到iptables會報錯 但是如果我把抓回來的bot砍掉,然後用joe新增一個檔案 再從本機複製,貼上到JOE,然後存檔 雖然是一樣的內容,但是這次就可以順利執行不會報錯 我本來懷疑是不是wget跟ftp一樣,要指定binary or ascii 可是看wget的help裡面又沒有這種參數可以下 請問我應該還要檢查什麼地方?? -- 會當凌絕頂,一覽眾山小。 —— 杜甫 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.177.1

11/21 13:49, , 1F
try command "dos2unix"
11/21 13:49, 1F

11/21 14:01, , 2F
感謝!問題解決!
11/21 14:01, 2F

11/21 14:01, , 3F
不過,這是啥原理啊= =
11/21 14:01, 3F

11/21 14:06, , 4F
Windows 和 Linux 的文字檔在行尾使用的符號不同
11/21 14:06, 4F

11/21 16:36, , 5F
http://tinyurl.com/oazt3d3 鳥哥的網站有說到這一段。
11/21 16:36, 5F

11/21 17:27, , 6F
notepad++ 編輯(Edit) 選單有個 檔案格式轉換(EOL Conversion)
11/21 17:27, 6F

11/21 17:27, , 7F
選 UNIX 那項.
11/21 17:27, 7F

11/21 17:28, , 8F
感謝yvb ,以前都沒注意到這種問題
11/21 17:28, 8F

11/21 20:12, , 9F
CRLF...
11/21 20:12, 9F

11/22 00:52, , 10F
notepad++ 可以選擇換行字元,記得切到 Unix
11/22 00:52, 10F

11/22 00:53, , 11F
喔喔被 y 大搶先了XDD
11/22 00:53, 11F

11/22 18:20, , 12F
七個多小時不叫搶先,是遙遙領先吧...
11/22 18:20, 12F

11/22 18:22, , 13F
你看那些玩五樓的,有多少差一秒結果自表變成別人的簽
11/22 18:22, 13F

11/22 18:22, , 14F
名檔...
11/22 18:22, 14F
文章代碼(AID): #1IZPuFeW (Linux)