| 會員 ![]() | linux script 用記事本等編輯過就無法 run 問題 想要請教大家一下, liunx shell script 經由網路芳鄰從 windows 系統用 記事本 或 wordpad 等編輯過後,linux 系統就無法執行該檔案,必須使用 dos2unix 指令轉換後才可執行,想請教是否有方法不需經過這道程序,在windows 從網路芳鄰編輯過後 linux 依然可以執行這個 shell script 呢? 有試過 Ultra Edit 編輯過,但是他會先儲存就的檔案,產生一個 .bak 的檔案,然後產生一個新的檔案,但是這個檔案卻又會變成沒有執行的權限,請各位指導建議,謝謝 此篇文章於 2007-08-29 11:54 PM 被 lych911 編輯。. |
| 回覆 |
| 會員 ![]() | 回覆: linux script 用記事本等編輯過就無法 run 問題 因為換行碼被記事本修改過了,變成 windows 用的換行碼。 所以必須再轉回 unix 格式的文字檔換行碼才行。 記事本跟 wordpad 是 M$ 的基本內建工具,所以只儲存 win 格式。 找找可以在儲存時不變動換行碼的,或是可以選擇儲存不同格式的。 像 ultraedit emedit。 ps: ultraedit 儲存備份檔 .bak 功能是可以關掉的。到設定功能 backup 裡改成no backup 就可。 |
| 回覆 |
| 會員 ![]() | 回覆: linux script 用記事本等編輯過就無法 run 問題 目前已經找了文字編輯軟體 Notepad++ 來取代 win 的記事本,這樣問題也就解決了,謝謝^^ |
| 回覆 |
| あなたの家に行く | 換行格式不是微軟的專利,只是遊戲規則而已,所以大可不用 M$ 一詞。 反過來說,有許多文字檔,目標是給 Windows 用戶瀏覽,也沒有試著去轉換一下、補個附檔名,讓習慣圖形介面操作的用戶覺得不方便,甚至反感。是否應該將心比心,檢討一下,互相尊重彼此的差異,不要總是把問題都歸咎於作業系統、軟體公司。 |
| 回覆 |
| 會員 ![]() | 回覆: linux script 用記事本等編輯過就無法 run 問題 |
| 回覆 |
| Kree ![]() | 回覆: linux script 用記事本等編輯過就無法 run 問題 覺得 Madedit 比 Notepad++ 好用,也是免費的 特點是有直接轉碼功能,可把 BIG-5 轉成 UTF-8,簡體轉繁體 那是「換行格式」的問題 unix 換行是插入一個 LF (換行)的標記 這個標記在文字檔中不會看到,因為編輯器會自動忽略 但用二進制去看即可看到 M$ 的換行,除了 LF,還會插入一個 Return (回車)的標記 意思是模擬打字機換行後,拉「拉桿」把文件回到起始 也就是總共會插入兩個標記 Return 標記在 unix 系統中 因為編輯器不會自動忽略,會被視為亂碼 同樣的,unix 換行的文字檔 拿到 windows 底下開啟,會全部擠在一行 原因是少了 Return 的標記 如果以「邏輯性」和「方便性」來說 多插一個 Return 標記是比較沒道理 因為換行後,就是要回到起點 沒必要再多一個標記,告訴編輯器要回到起點 這樣只會多浪費存儲的資料量 想必 M$ 也不想維持這個傳統 但因為是從 DOS 時代就有了,為了相容只好一錯再錯 這算是 M$ 的一個歷史包袱 |
| 回覆 |
| あなたの家に行く | 以組合語言的角度來看,內部本身就是 Line Feed (餵一行) 和 Carriage Return (返回游標)。 自己也不能期望改變大局。MAC/UNIX/DOS 都弄一套規則,一般的用戶怎能承受這些區別? 要改變 DOS 和 Windows 的 0D0A 定律,現行幾乎是不可能的,除非現有的累積成果拋棄掉,重新定義一次。目標是給何種系統使用,去遵守規則就是了。現在還要去爭這個換行定義的不同,有些不合時宜。 曾經收到不少 .inf/.reg/.txt 檔案,都是 unix 換行格式,不過 win 內部還是會默默接受,不會不准執行。每次碰到「一行文字檔」,直覺反應就是用瀏覽器開啟,或是用第三方的記事本。 关于"回车"(carriage return)和"换行"(line feed) |
| 回覆 |
| Kree ![]() | 回覆: linux script 用記事本等編輯過就無法 run 問題 just 討論「原理」和「電腦歷史」而已,沒別的意思 我桌上型用 XP,伺服器用 Linux 所以這種現象早習慣了,並不會覺得困擾 說穿了,這只不過是一個跨平台必要的常識 不清楚原理,就像樓主會奇怪為甚麼記事本編輯後會這樣子 原理通了,也就見怪不怪了 每個人都是這樣走過來的,這部份都學習過、也困擾過 沒有人天生就是知道這種知識的,都是聽別人說了才知道 從網路得到人的幫助,然後又去幫助別人,合情合理 要說明這個問題的真正原因,肯定是要解釋何謂「換行格式」 如此才能通「原理」,解答才有意義 而不只是換個編輯器,就能解決問題這麼簡單 因為就算使用較專業的編輯器,開了 LF-CR 換行的 shell script 若不轉成 unix 格式,它還是一樣不能執行的! 唯有真正瞭解它的原因、原理 編輯時才會注意到格式問題,也才不會發生不能執行的錯誤 這才算一個完美的解答 換行格式,是 windows / unix 跨平台的使用者 必要知道的一個知識,知道了,才能工作 絕沒有去批評 OS 誰是誰非的意思 若要再深入討論: shell script 為何會那麼在乎換行符號? 個人認為原因有二: ----------------------------- 1. shell script 並沒有結尾符號的設計 例如 php、java...等程式語言,是以 ; 分號來判斷結尾 但 shell script 一般並不需結尾符號,它是以換行標記來判斷結尾的 2. shell script 裡面很多指令(關鍵字),實際上就是系統指令 如果多出一個 ^M,shell 就認不出那是什麼指令,或是什麼檔案 即是會回應:指令不存在、檔案不存在,然後執行錯誤 題外話: 當然期望 M$ 或 unix-like 誰去改變,都是多餘的,各有各的立場 如果 M$ 會改變,也就不會有 .doc 這東西,也就不會有 IE only 它市佔率是高沒錯,但終究是封閉、壟斷的格式,這是不可否認的事實 開放的格式,是任何人都可以使用 而封閉,甚至專利的格式,用了可是會被告的 這是它們最大的不同點 $ 這個符號,只說明要"錢",除此之外,貌似也沒別的意思 個人認為將其擴大解釋成有鄙視的味道,是太過度敏感了 也許網路上提到這個詞的人 往往只是因為花太多錢在上面,表達一下不滿而已 就好比口渴去投個販賣機,結果硬幣被吃掉 難道一般人不會踢一下,說:這吃錢的鬼 這是合情合理的情緒表現吧 |
| 回覆 |
| 會員 ![]() | 回覆: linux script 用記事本等編輯過就無法 run 問題 引用:
所以你的重點是什麼呢? 你的回答有助於樓主解決他的問題嗎? 看你的文章數那麼高。沒想到回文的內容都是一些跟原問題無關的內容。 這種回文方式讓你很高興嗎? 你真的有看懂樓主所碰到的問題跟要解決的問題嗎? 誰管你用哪種格式的換行碼? 重點是問題怎麼解決? 你回了那了些文,是在放什麼馬後炮? 要是你想討論『換行碼的問題』,你為什麼不另外再開一個討論頁去討論? 回在別人『已經解決的問題』後面是在做什麼? | |
| 回覆 |
| 戦零絶唱中 ![]() | 回覆: linux script 用記事本等編輯過就無法 run 問題 引用:
或許就如 Linux_XP 兄所說,有些人只是發洩下而刻意說出 "M$" 。 但在個人觀點來說,明明有一個正式的名稱 微軟、Microsoft 不用,刻意用那樣的外號。 這很明顯不尊重對方的意思。就好像一個人有好好的名字,卻被一些人胡亂取了個外號的情況一樣。 或許是開玩笑也好,都讓人覺得很不尊重對方的意思。 如果是個人用 "M$" 本來就沒有什麼意見,不過擔心用久後就會成為流行。 或許有一天還會誤導新人們以為 "M$" 就是 Microsoft。 更何況現在這樣的情況已經確實發生了,有一個正式的官方網站,卻用上了 "M$" 來稱呼微軟。如果用上 "MS" 我到還覺得無所謂。 這就顯得那些官方網站很不專業。 他們這樣用的真正理由就不懂。 或許想要刻意來卑視?想要來發洩他們對微軟不滿? 還是因為被影響到認為 "M$" 就是 Microsoft 的標誌? 雖然他們的名譽變成怎樣對我來說都無所謂... 不管什麼原因都好,都只會讓人們都覺得很搞笑。 其實大概大部分的人都不會以中立的觀點去看待一種事物。 就像有部分的所謂微軟派只認為微軟好,Linux 派只認為 Linux、Unix-Like 好。 互相找出痛處來批評、比較誰的優勢好。只有這點是讓人覺得最討厭的地方。 如果是真正喜歡玩電腦的用家,其實根本不必去考慮這些。 能用的就用、能玩就玩、能研究的就一起研究、討論就好。爭奪什麼的本來就毫無意義。自己是覺得這樣才可以好好享受到玩電腦的樂趣。 此篇文章於 2007-08-31 11:22 PM 被 warzero 編輯。. | |
| 回覆 |
| |
類似的主題 | ||||
| 主題 | 主題作者 | 討論版 | 回覆 | 最後發表 |
| Windows - Linux - Ghost 問題 | 333222 | -- FreeBSD & Linux 討 論 版 | 0 | 2002-07-07 11:01 PM |
| Linux install 問題 | mj1024 | -- FreeBSD & Linux 討 論 版 | 2 | 2002-01-06 03:59 AM |
| Linux Routing 問題...請幫忙 | ktf | -- 網 路 技 術 版 | 2 | 2001-09-15 12:33 PM |
| 有關於 linux 問題? | chengmou | -- Windows 討 論 版 | 13 | 2001-03-23 10:51 PM |
| XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。