Bug同样的shell脚本在win与linux系统下执行不一样
问题
在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系统下执行不一样相关推荐
- Win或Linux系统下用conda安装Open Babel
一.安装Anaconda或Miniconda Win或者Linux系统下Anaconda或Miniconda安装,不赘述,网上很多教程. 二.利用conda安装openbabel install -c ...
- linux wordpress伪静态,wordpress程序在win和Linux系统下的伪静态设置 - 张力博客
这是一篇很早就应该写的文章,而在昨天就有朋友问我,为什么不写一下关于wordpress的伪静态设置呢?今天这篇文章我就来跟大家说一下,关于wordpress程序在win和Linux系统下的伪静态设置方 ...
- linux脚本安装gcc,在Linux系统下不需要编译安装GCC9,有仓库安装模板脚本
本文给出[安装GCC9]仓库安装模板脚本,在Linux系统可以编译安装GCC9,但很多编译安装的应用,有难度. 复制以下代码,把它们保存到文本,然后给可执行权限,双击,终端运行,应为需要输入用户密码. ...
- 主动申请linux内存 脚本,Shell 脚本来自动监控 Linux 系统的内存
# vim /scripts/swap-warning.sh #!/bin/bash #提取本服务器的IP地址信息 IP=`ifconfig eth0 | grep "inet addr&q ...
- linux shell脚本监控内存,shell脚本监控内嵌linux系统业务、CPU、内存等
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 定制板卡中bash无法使用,使用标准sh完成对系统及业务监控 #! /bin/sh #Pr ...
- linux查看告警日志,shell脚本,用于监视Linux中的消息日志(警告,错误和严重)...
shell脚本,用于监视Linux中的消息日志(警告,错误和严重) 该脚本将检查文件中的"警告,错误和严重",并在/var/log/messages找到与之相关的邮件时触发给指定电 ...
- linux shell 域名 ip,Shell脚本一种检查Linux中域名和IP地址所有权信息、检查多个域名的到期日期工具...
Shell脚本一种检查Linux中域名和IP地址所有权信息.检查多个域名的到期日期工具 jwhois是一个命令行实用程序,可从whois服务器(whois数据库)中获取有关域名所有权的信息. Whoi ...
- 在linux中编写shell脚本文件,如何编写简单的Shell脚本(Script)文件之Linux的基本操作...
如何编写简单的Shell脚本(Script)文件之Linux的基本操作 新建一个文本文件包含所需要的脚本.举例,我会使用pico编辑器写一个脚本用来运行程序tar,带上必要的可选项可以用来解压从因特网 ...
- shell脚本:遍历指定文件夹下.jar后缀的文件,并备份到目标文件夹
shell脚本:遍历指定文件夹下.jar后缀的文件,并备份到目标文件夹 批量备份源文件夹下的所有jar包 并用原名+日期时间重命名 过程如下: 创建一个sh文件: vim test.sh 按 i 进入 ...
最新文章
- 【ArcGIS for Android】基于位置查询Graphic和Feature
- 顽石系列:Java技术面试
- 单例模式volatile
- yolov3训练自己的数据_YOLOv4 训练自己的数据集
- honeywell新风系统控制面板说明_新风系统——不开窗也能清新呼吸
- 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
- (23)css3文字阴影text-shadow
- Shell脚本 条件
- 家长或孩子图像的Gif动画小人在少儿学习软件中的妙用.
- 从苏宁电器到卡巴斯基第03篇:我的本科时光(下)
- Louvain社区划分算法及Java语言实现
- Open JDK patched with font fix
- 用php照片艺术化,Lab:照片艺术化调色处理介绍
- 日本超人气洛比(Robi)声控机器人
- u盘安装计算机系统,最新U盘装系统教程,像安装软件一样简单,3分钟学会!
- 数据库可视化工具 dbForge Studio for MySQL 快速入门以及进阶指导
- python制作一个网易音乐下载器
- 体验专业级上网行为管理的特色功能
- CDOJ 1355 柱爷与三叉戟不得不说的故事(枚举子集状压dp)
- android摄像头旋转花屏,Android OpenGL YUV 旋转花屏解决、Camera获取图像
热门文章
- Centos中git的安装
- jquery $(document).ready() 与window.onload的区别
- python爬斗鱼直播_Python爬取2000万直播数据——看20万游戏主播能否月入100万
- jaVa工程师朱璇_使用QTP对Silverlight应用进行自动化测试的研究与实践
- 目标检测算法YOLOv4详解
- 良好的代码编写风格(二十五条)
- ionic 状态栏显示异常 statusBar
- Mybatis笔记一:java.lang.NoClassDefFoundError: org/apache/ibatis/mapping/DatabaseIdProvider
- AIX 上安装SSH
- 最简单的视音频播放示例9:SDL2播放PCM