1. 程式人生 > >在Windows下生成的shell文件在上傳到Linux上發現無法執行

在Windows下生成的shell文件在上傳到Linux上發現無法執行

code header sed 循環 發現 win localhost 沒有 不一致

為了批量生成shell文件,我在Windows下用knime循環生成一批shell文件,在上傳到Linux上執行時發現報錯:

[ft@localhost Stock]$ ./f_wdt_outsource_outbound_header.sh 
-bash: ./f_wdt_outsource_outbound_header.sh: /bin/sh^M: 壞的解釋器: 沒有那個文件或目錄
[ft@localhost Stock]$ 

在將shell文件內的代碼完全復制到一個新建的shell文件下,發現執行成功。

發現原因是win下空格之類符號與Linux下不一致,因此編譯錯誤

執行

[ft@localhost Stock]$ sed -i 
s/\r$// f_wdt_outsource_outbound_header.sh [ft@localhost Stock]$

後,執行成功

在Windows下生成的shell文件在上傳到Linux上發現無法執行