windows下编写的shell脚本在Linux下执行有问题解决方法

前言:

这个问题在实际工作中经常会遇到(非语法错误),脚本来源有些是自己在windows系统编写的、有些是从别人那里copy来的,还有些原本是好的被别人拿到windows下修改了一些内容,总之各种场景,但是如果是一个内容比较多的脚本出现这种情况,批处理脚本有着急用,估计此时是比较崩溃的,其实不用着急,拯救方法有以下四种,大家可以根据情况选择使用

方法一

复制代码
sed -i 's/\r//g' test.sh

方法二

复制代码
执行vim test.sh打开文件,然后在英文输入法下输入:set ff=unix,然后回车,最后输入:wq保存修改即可


方法三

复制代码
cat test.sh | tr -d '[\r]' > test2.sh

方法四

复制代码
这种方法需要系统安装了dos2unix工具才行
dos2unix -n 原脚本名  新脚本名
例如:
dos2unix -n  test.sh test2.sh
相关推荐
路溪非溪4 分钟前
关于Linux内核中头文件问题相关总结
linux
Lovyk2 小时前
Linux 正则表达式
linux·运维
Fireworkitte3 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9004 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char4 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
淮北也生橘126 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
华强笔记9 小时前
Linux内存管理系统性总结
linux·运维·网络
十五年专注C++开发9 小时前
CMake进阶: CMake Modules---简化CMake配置的利器
linux·c++·windows·cmake·自动化构建
phoenix098110 小时前
ansible部署lnmp-allinone
linux·运维·ansible
winds~10 小时前
【git】 撤销revert一次commit中的某几个文件
linux·c++