為了批量生成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]$
后,執行成功