windows下寫的腳本,在linux下執行失敗

Windows中的換行符為CRLF, 即正則表達式的rn(ASCII碼為13和10), 而Unix(或Linux)換行符為LF, 即正則表達式的n. 在Windows和Linux下協同工作的時候, 往往這個細小的差別就導致問題, 如
1)Windows下寫的Shell腳本, 在Linux下運行時往往出現rn是無效參數, 不能執行;
2)vi 等編器下打開一個文本文件會包含 ^M
3)Linux下查看文件會在文件頭部出現一些亂字符
4)在Windows下開發寫的Makefile往往也會運行出錯.
…

解決的方法:

1) 文本批量轉換工具: Unix系統中的dos2unix(相反的也有unix2dos)方法一: 使用 vi 打開源文件, 把 '\r\n' 替換成 '\n'** 缺點 **?: 不適合大量文件的批量作業.方法二: 使用 UtraEdit 把 Windows 格式的文件轉換成 Unix 格式.(菜單)文件-->轉換-->Unix轉DOS** 缺點 **?: 不適合大量文件的批量作業.方法三: Unix 下的 dos2unix 命令, 如 $ dos2unix -k xx.c** 缺點 **?:此方法有一致命缺陷, 它會改變原來的文件屬性.如一個可執行 shell 腳本的可執行屬性及其它屬性, 轉換后都將會丟掉(即使用 -k 也只是能保留住原來的日期.)** 優點 **?: 適合大量普通文件本文件的批量作業.方法四: win2unix (windows, unix 均可使用), 功能類似 dos2unix,如 win2unx xx.c (更多詳細實例見后文)** 優點**  ?:克服了 dos2unix 的所有缺點(見上), 它能保留源文件的任何屬性.還可以返回轉換即 unix2win適合大量文件的批量作業.


2) 在進行編輯或保存的時候, 選擇行末符號為Unix換行(LF)
elipse下,回車換行的修改
點擊Window >>Workspace 修改 Next text file line delimiter的 Other ,由Windows改為Unix.

轉載于:https://www.cnblogs.com/chenjianhong/p/4144666.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/377534.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377534.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377534.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Scala中的do ... while循環

做...在Scala循環 (do...while loop in Scala) do...while loop in Scala is used to run a block of code multiple numbers of time. The number of executions is defined by an exit condition. If this condition is TRUE the code will run otherwise it runs the first …

十七、完整神經網絡模型訓練步驟

以CIFAR-10數據集為例,訓練自己搭建的神經網絡模型架構 一、準備CIFAR-10數據集 CIFAR10官網使用文檔 torchvision.datasets.CIFAR10(root"./CIFAR_10",trainTrue,downloadTrue) 參數描述root字符串,指明要下載到的位置,或已有數…

μC/OS-Ⅱ 操作系統內核知識

目錄μC/OS-Ⅱ任務調度1.任務控制塊2.任務管理3.任務狀態μC/OS-Ⅱ時間管理μC/OS-Ⅱ內存管理內存控制塊MCBμC/OS-Ⅱ任務通信1.事件2.事件控制塊ECB3.信號量4.郵箱5.消息隊列操作系統內核:在多任務系統中,提供任務調度與切換、中斷服務 操作系統內核為每…

第二版tapout

先說說上次流回來的芯片的測試情況。 4月23日, 芯片采用裸片直接切片, bond在板子上,外面加了一個小塑料殼來保護,我們就直接拿回來測試了。 測試的主要分為模擬和數字兩部分, 數字部分的模塊基本都工作正常&#xff0…

cd-rom門鎖定什么意思_CD-ROM的完整形式是什么?

cd-rom門鎖定什么意思CD-ROM:光盤只讀存儲器 (CD-ROM: Compact Disc Read-Only Memory) CD-ROM is an abbreviation of "Compact Disc Read-Only Memory". It is a data storage memory in the form of an optical compact disc, which is read by a syst…

遠程工作時的協作工具

遠程工作時的協作工具 Google Hangout 用于日常會議和面對面交談,在國內其實可以用qq來帶起。Campfire 用于一天來的持續對話。Screenhero 用于分享屏幕,一起寫代碼,這個比較有用,可以一起寫代碼。Balsamiq 用于計劃要制作的 UI。Asana 用于管理任務Google Docs 用于…

十八、完整神經網絡模型驗證步驟

網絡訓練好了,需要提供輸入進行驗證網絡模型訓練的效果 一、加載測試數據 創建python測試文件,beyond_test.py 保存在dataset文件夾下a文件夾里的1.jpg小狗圖片 二、讀取測試圖片,重新設置模型所規定的大小(32,32),并轉為tens…

二分法變種小結(leetcode 34、leetcode33、leetcode 81、leetcode 153、leetcode 74)

目錄二分法細節1、leetcode 34 在排序數組中查找元素的第一個和最后一個位置2、不完全有序下的二分查找(leetcode33. 搜索旋轉排序數組)3、含重復元素的不完全有序下的二分查找(81. 搜索旋轉排序數組 II)3、不完全有序下的找最小元素(153. 尋找旋轉排序數組中的最小值)4、二維矩…

ID3D11DeviceContext::Dispatch與numthread筆記

假定——[numthreads(TX, TY, TZ)] // 線程組尺寸。既線程組內有多少個線程。Dispatch(GX, GY, GZ); // 線程組的數量。既有多少個線程組。 那么——SV_GroupThreadID{iTX, iTY, iTZ} // 【線程組內的】線程3D編號SV_GroupID{iGX, iGY, iGZ} // 線程組的3D編號SV_DispatchT…

kotlin 查找id_Kotlin程序查找Square區域

kotlin 查找idFormula to find area of Square: area side*side 查找Square面積的公式: area side * side Given the value of side, we have to find the area of Square. 給定side的值,我們必須找到Square的面積。 Example: 例: Input…

小米手環6解決天氣未同步問題

最近我發現了我的米6手環天氣不同步,打開Zepp Life刷新同步也不行,后來我找了一些網上的解決方法,嘗試了一些也還不行,我這人喜歡瞎搗鼓,無意之間給整好了,后來我開始總結自己操作步驟,就在剛才…

c# datetime._C#| DateTime.Month屬性與示例

c# datetime.DateTime.Month屬性 (DateTime.Month Property) DateTime.Month Property is used to get the month component of this object. Its a GET property of DateTime class. DateTime.Month屬性用于獲取此對象的月份組成部分。 這是DateTime類的GET屬性。 Syntax: 句…

C++ 內存分配層次以及memory primitives的基本用法

分配層次 C memory primitives 分配釋放類型是否可重載mallocfree()C函數不可newdeleteC表達式不可::operator new()::operator delete()C函數可allocator::allocate()allocator::deallocate()C標準庫可自由設計并以之搭配任何容器 分配與釋放的四個用法 1、malloc and delet…

jQuery easyui layout布局自適應瀏覽器大小

首先解釋一下標題的含義,當我們用jQuery easyui layout 進行布局的時候,可能會遇到這樣一個問題,那就是當手工調整瀏覽器大小,或者最大化、還原窗口的時候,layout的某個區域不能填充因為瀏覽器擴大而產 生的空白區域&a…

JAVA 作業:圖形界面

自己動手寫的一個小JAVA 程序: 一個學生管理小系統,雖然很挫,但是這我學JAVA的第一步。學了2天JAVA沒有白費! 1 import java.awt.*;2 import java.awt.event.*;3 import java.util.ArrayList;4 5 import javax.swing.*;6 7 class …

一、Pytorch對自定義表達式自動求導

例如:y ax bx c,分別對a,b,c求導 若當a3,b4,c5,x1時 import torch from torch import autogradx torch.tensor(1.) a torch.tensor(3.,requires_gradTrue) b torch.tensor(4.,requires…

css菜單下拉菜單_在CSS中創建下拉菜單

css菜單下拉菜單CSS | 創建下拉菜單 (CSS | Creating Dropdown) Trivia: 瑣事: We know the importance of navigation bar on our webpage, we know the importance of a list of items too on our webpage but what is the importance of dropdown in web pages?…

C++ 內存基本構件new/delete的意義、運用方式以及重載方式

目錄一、對new的理解1、new做了什么2、new被編譯器轉為了什么3、operate_new源代碼長啥樣二、對delete的理解1、delete做了什么2、delete被編譯器轉為了什么3、operator delete源代碼長啥樣三、構造函數與析構函數的直接調用參考一、對new的理解 1、new做了什么 C告訴我們&am…

二、線性代數

一、張量 張量表示由一個數值組成的數組,這個數組可能有多個維度 import torchx torch.arange(15) x # tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])1,shape shape屬性可以訪問張量的形狀 x.shape # torch.Size([15])2&a…

Wordpress prettyPhoto插件跨站腳本漏洞

漏洞名稱:Wordpress prettyPhoto插件跨站腳本漏洞CNNVD編號:CNNVD-201311-413發布時間:2013-11-28更新時間:2013-11-28危害等級: 漏洞類型:跨站腳本威脅類型:遠程CVE編號: 漏洞來源…