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