Windows 與 Linix 的換行符不同導致在 Windows 下創建的文件,傳入 Linux 會在行尾出現 ^M 符號
解決:
1. 使用命令dos2unix對文件進行轉換
a. 在Windows下建立文件或者已有文件使用txt打開,然後另存爲ANSI格式
b. 使用tftp傳入該文件後,使用命令dos2unix對文件進行轉換,命令
$ tftp -gr upgrade.sh 192.168.1.201
$ dos2unix upgrade.sh
2. 使用vi的替換功能。啓動vi,進入命令模式,輸入以下命令:
:%s/^M$//g # 去掉行尾的^M
:%s/^M//g # 去掉所有的^M
:%s/^M/[ctrl-v]+[enter]/g # 將^M替換成回車
:%s/^M/\r/g # 將^M替換成回車
3. 使用sed命令:
$ sed -e‘s/^M/\n/g’upgrade.sh
參考資料:
https://blog.csdn.net/lhf_tiger/article/details/8203013