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
相关推荐
平生不喜凡桃李26 分钟前
Linux网络:UDP
linux·网络·udp
weixiao04301 小时前
Linux网络 网络层
linux·网络·智能路由器
从零开始的ops生活1 小时前
【Day 80】Linux-NAS 和 SAN 存储
linux·运维·php
Wang's Blog2 小时前
Linux小课堂: 输入重定向与管道操作详解
linux·运维·服务器
迎風吹頭髮3 小时前
Linux内核架构浅谈49-Linux per-CPU页面缓存:热页与冷页的管理与调度优化
linux·缓存·架构
jason.zeng@15022073 小时前
centos中安装redis
linux·redis·centos
w23617346014 小时前
Linux 服务器安全巡检与加固:从命令到实操(CentOS/Ubuntu 通用)
linux·服务器·安全·安全加固·安全巡检
xiaogg36784 小时前
阿里云k8s1.33部署yaml和dockerfile配置文件
java·linux·kubernetes
python百炼成钢4 小时前
3.Linux 网络相关
linux·运维·网络·stm32·单片机
-指短琴长-7 小时前
Namespace隔离实战【Linux】
linux