问题

在windows下面编辑的.sh脚本

在win下面运行正确

在linux下面运行错误

应该是系统编码的差异原因吧!

原因

在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,
而unix格式的文件行尾则以\n来标识。

查看文件的编码

查看脚本文件是dos格式还是unix格式的几种办法。
(1)cat -A filename  从显示结果可以判断,dos格式的文件行尾为^M$,unix格式的文件行尾为$。
(2)od -t x1 filename
如果看到输出内容中存在0d 0a的字符,那么文件是dos格式,如果只有0a,则是unix格式。
(3)vi filename
执行 : set ff,如果文件为dos格式在显示为fileformat=dos,如果是unxi则显示为fileformat=unix。

设置文件的编码方法

(1)使用linux命令dos2unix filename,直接把文件转换为unix格式
(2)使用sed命令sed -i "s/\r//" filename 或者 sed -i "s/^M//" filename直接替换结尾符为unix格式
(3)vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。

https://blog.csdn.net/hxpjava1/article/details/79711710

Bug同样的shell脚本在win与linux系统下执行不一样相关推荐

  1. Win或Linux系统下用conda安装Open Babel

    一.安装Anaconda或Miniconda Win或者Linux系统下Anaconda或Miniconda安装,不赘述,网上很多教程. 二.利用conda安装openbabel install -c ...

  2. linux wordpress伪静态,wordpress程序在win和Linux系统下的伪静态设置 - 张力博客

    这是一篇很早就应该写的文章,而在昨天就有朋友问我,为什么不写一下关于wordpress的伪静态设置呢?今天这篇文章我就来跟大家说一下,关于wordpress程序在win和Linux系统下的伪静态设置方 ...

  3. linux脚本安装gcc,在Linux系统下不需要编译安装GCC9,有仓库安装模板脚本

    本文给出[安装GCC9]仓库安装模板脚本,在Linux系统可以编译安装GCC9,但很多编译安装的应用,有难度. 复制以下代码,把它们保存到文本,然后给可执行权限,双击,终端运行,应为需要输入用户密码. ...

  4. 主动申请linux内存 脚本,Shell 脚本来自动监控 Linux 系统的内存

    # vim /scripts/swap-warning.sh #!/bin/bash #提取本服务器的IP地址信息 IP=`ifconfig eth0 | grep "inet addr&q ...

  5. linux shell脚本监控内存,shell脚本监控内嵌linux系统业务、CPU、内存等

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 定制板卡中bash无法使用,使用标准sh完成对系统及业务监控 #! /bin/sh #Pr ...

  6. linux查看告警日志,shell脚本,用于监视Linux中的消息日志(警告,错误和严重)...

    shell脚本,用于监视Linux中的消息日志(警告,错误和严重) 该脚本将检查文件中的"警告,错误和严重",并在/var/log/messages找到与之相关的邮件时触发给指定电 ...

  7. linux shell 域名 ip,Shell脚本一种检查Linux中域名和IP地址所有权信息、检查多个域名的到期日期工具...

    Shell脚本一种检查Linux中域名和IP地址所有权信息.检查多个域名的到期日期工具 jwhois是一个命令行实用程序,可从whois服务器(whois数据库)中获取有关域名所有权的信息. Whoi ...

  8. 在linux中编写shell脚本文件,如何编写简单的Shell脚本(Script)文件之Linux的基本操作...

    如何编写简单的Shell脚本(Script)文件之Linux的基本操作 新建一个文本文件包含所需要的脚本.举例,我会使用pico编辑器写一个脚本用来运行程序tar,带上必要的可选项可以用来解压从因特网 ...

  9. shell脚本:遍历指定文件夹下.jar后缀的文件,并备份到目标文件夹

    shell脚本:遍历指定文件夹下.jar后缀的文件,并备份到目标文件夹 批量备份源文件夹下的所有jar包 并用原名+日期时间重命名 过程如下: 创建一个sh文件: vim test.sh 按 i 进入 ...

最新文章

  1. 【ArcGIS for Android】基于位置查询Graphic和Feature
  2. 顽石系列:Java技术面试
  3. 单例模式volatile
  4. yolov3训练自己的数据_YOLOv4 训练自己的数据集
  5. honeywell新风系统控制面板说明_新风系统——不开窗也能清新呼吸
  6. 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
  7. (23)css3文字阴影text-shadow
  8. Shell脚本 条件
  9. 家长或孩子图像的Gif动画小人在少儿学习软件中的妙用.
  10. 从苏宁电器到卡巴斯基第03篇:我的本科时光(下)
  11. Louvain社区划分算法及Java语言实现
  12. Open JDK patched with font fix
  13. 用php照片艺术化,Lab:照片艺术化调色处理介绍
  14. 日本超人气洛比(Robi)声控机器人
  15. u盘安装计算机系统,最新U盘装系统教程,像安装软件一样简单,3分钟学会!
  16. 数据库可视化工具 dbForge Studio for MySQL 快速入门以及进阶指导
  17. python制作一个网易音乐下载器
  18. 体验专业级上网行为管理的特色功能
  19. CDOJ 1355 柱爷与三叉戟不得不说的故事(枚举子集状压dp)
  20. android摄像头旋转花屏,Android OpenGL YUV 旋转花屏解决、Camera获取图像

热门文章

  1. Centos中git的安装
  2. jquery $(document).ready() 与window.onload的区别
  3. python爬斗鱼直播_Python爬取2000万直播数据——看20万游戏主播能否月入100万
  4. jaVa工程师朱璇_使用QTP对Silverlight应用进行自动化测试的研究与实践
  5. 目标检测算法YOLOv4详解
  6. 良好的代码编写风格(二十五条)
  7. ionic 状态栏显示异常 statusBar
  8. Mybatis笔记一:java.lang.NoClassDefFoundError: org/apache/ibatis/mapping/DatabaseIdProvider
  9. AIX 上安装SSH
  10. 最简单的视音频播放示例9:SDL2播放PCM