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
相关推荐
zzzzzz3101 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode1 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒3 天前
TShark:Wireshark CLI 功能
linux
A小辣椒3 天前
TShark:基础知识
linux
AlfredZhao3 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao4 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334664 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪4 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush45 天前
嵌入式linux学习记录十四、术语
linux·嵌入式