脚本执行后,生成的log文件,cat打开没有问题,vim打开就是文字乱码。

file1完全没有问题,其他人的file2追加到file中间的时候就出现了这个问题。

因为使用notepad在win7写的,通过winscp传到了linux,

1、所以首先想到可能是notepad的语言问题,于是乎去修改了notepad的编码格式,尝试用UTF-8格式,

这样之后./SHELL 提示  #!/bin/bash no such file or directory

然后在http://unix.stackexchange.com/questions/27054/bin-bash-no-such-file-or-directory 找到了答案,

This can also be caused by a BOM in a UTF-8 script. If you create the script in windoze sometimes you get some junk at the start of the file.

$ head -1 yourscript | od -c

and see how it ends: This is wrong

0000000   #   !   /   b   i   n   /   b   a   s   h  \r  \n

This is correct:

0000000   #   !   /   b   i   n   /   b   a   s   h  \n

用 dos2unix 命令解决这个问题,于是去notepad把编码改成UTF-8无BOM格式编码。。

问题没解决,继续想、、

2、直接在linux里面 cat file2 >>file1 追加到源文件后面,vim file1后发现追加的file2的部分后面多了 “^M ” 这个东西,

好吧,这个也要靠 dos2unix 命令 去除: dos2unix file 。

问题依旧存在、、

3、开始用最笨的方法,一个模块一个模块的粘贴,发现粘贴完第一个模块运行是没有问题的,log文件也没有问题(好现象,说明这个file2至少有一部分是可以用的,可能只是一部分有问题)。好吧,于是把文件放了sqlserver编辑器打开,瞬间惊呆了,。。。。命令里面掺杂了中文空格(空格君,你咋又来了(>﹏<))。

是个教训,中文空格带来的将是毁灭性的灾难!!!!!!

问题解决、

4、运行脚本发现生成了一些错误的以“-”开头的文件,rm -tmpfile 失败 ,好吧 rm会读成-t是参数,用 rm ./-tmpfile 就OK了。

问题很低级,但是记录下来就加深了一遍记忆,避免以后犯这种低级错误。

linux 执行shell脚本的时候,生成的log文件乱码的更多相关文章

  1. Linux执行shell脚本方式及区别&命令后台运行

    Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/

  2. Linux执行shell脚本的方法

    Linux下有个脚本/home/start.sh,常用的两种执行方法如下: 1../start.sh.注意此时start.sh脚本文件必须有可执行权限-x.类似的有以绝对路径来执行:/home/sta ...

  3. 转:linux执行shell脚本的方式及一些区别

    假设shell脚本文件为hello.sh放在/root目录下.下面介绍几种在终端执行shell脚本的方法: [root@localhost home]# cd /root/ [root@localho ...

  4. linux 执行shell脚本的4种方法总结

    bash shell 脚本的方法有多种,假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时, ...

  5. linux执行shell脚本时提示bad interpreter:No such file or directory的解决办法

    故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行 出现bad interpreter:No s ...

  6. 用linux的shell脚本把目录下面的所有文件的文件内容中的小写字母改成大写字母

    最近工作中,产品组的同事给出的数据里面都是小写字母 ,但是引擎组的同事要求他们拿到的从数据里面解析出的结构体里面存储的要都是大写结构,这让我们数据预处理组很尴尬啊,,所以在写了个这么样的脚本,在解析数 ...

  7. Linux终端执行shell脚本,提示权限不够的解决办法

    原文:http://blog.csdn.net/this_capslock/article/details/17415409 今天在Linux尝试搭建dynamips的工作环境,在执行shell脚本时 ...

  8. Linux下如何执行Shell脚本

    Linux下你可以有两种方式执行Shell脚本: 1.用shell程序执行脚本:根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bas ...

  9. 在PHP中调用php_ssh实现远程登陆linux服务器并执行shell脚本。

    这个功能主要用于在web端利用程序对远程服务器进行操作,通过PHP_ssh执行shell脚本来实现. 首先要安装php_ssh2组件,linux中centos7下有ssh2源,直接安装.window下 ...

随机推荐

  1. 2019年C题 视觉情报信息分析

    2019 年第十六届中国研究生数学建模竞赛C 题 任务1中 图三:图3 中拍照者距离地面的高度 目录: 0.试题分析: 1.构建摄像机模型 2.摄像机参数假定 3.像平面坐标计算 4.图像标定及数值测 ...

  2. 自己手写实现Dubbo

    目录 dubbo 简单介绍 为什么手写实现一下bubbo? 什么是RPC? 接口抽象 服务端实现 注册中心 消费者端: dubbo 简单介绍 dubbo 是阿里巴巴开源的一款分布式rpc框架. 为什么 ...

  3. java的概念了解(jdk,jre,jvm,javase,javaee,javame)

    jvm jvm:java virtual machine,俗称:java虚拟机,只认识xxx.class这类文件 jre jre:java runtime environment,俗称java运行环境 ...

  4. 说说lock到底锁谁(II)?

    摘要 今天在园子里面有园友反馈关于[C#基础]说说lock到底锁谁?文章中lock(this)的问题.后来针对文章中的例子,仔细想了一下,确实不准确,才有了这篇文章的补充,已经对文章中的demo进行修 ...

  5. tsung报告中Transactions Statistics缺失问题

    长时间没有做性能测试,最近在使用tsung进行性能测试时,修改tsung自带的范例脚本后,运行查看结果时,发现测试报告中transactions  statistics缺失,刚开始一直以为是监控中的配 ...

  6. FFmpeg常用命令学习笔记(八)滤镜相关命令

    滤镜相关命令 FFmpeg中关于滤镜命令有很多种.比如在视频中加入/删除水印.对视频做反转等等都属于滤镜. FFmpeg滤镜处理流程 解码后的数据帧 ---过滤处理---> 过滤后的数据帧 -- ...

  7. Math.pow

    一个Math函数,例如:Math.pow(4,3);返回4的三次幂,用法:Math.pow(x,y) x 必需传.底数.必须是数字. y 必需传.幂数.必须是数字. 如果结果是虚数或负数,则该方法将返 ...

  8. C# 继承(3)持续更新

    类继承 和 接口继承 类继承        一个类型派生于一个基类行,它拥有该基类型的所有成员字段和函数. 接口继承     一个类型继承函数的签名,不需要实现代码. 多重继承 一个类派生自多个类.多 ...

  9. 关于github报错 ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository.

    今天上午写demo的时候,突然pull不下代码了,报了一下这样情况的错误: 看了一下代码,怀疑是网路错误,因为在这以前一切都正常的,然后将代码复制搜索了一番,解决办法有很多什么配置config啦,gi ...

  10. unity shader 剔除指定的颜色

    Shader "MyShader/PaintingBGTransparency" { Properties{ _MainTex("Base (RGB)", 2D ...