通常我们在执行shell脚本的时候会遇到类似下面的错误,而事实上脚本没有任何问题,很多人会卡在这一步很久,其实有可能是编码导致的回车符不一致引起的:

ERROR

$'\r': command not found

^M: bad interpreter

No such file or directory

这种情况有可能发生在脚本在windows环境下编写或修改,然后上传到Linux服务器执行时报错,可以使用dos2unix命令将DOS编码转为UNIX编码,同样也可以使用unix2dos命令将UNIX编码转为DOS编码。

#DOS编码转为UNIX编码
dos2unix filename#UNIX编码转DOS编码
unix2dos filename#有些机器上没有安装dos2unix命令,也可以使用vim命令修改编码
vim filename
#vim打开文件后执行下面的命令即可转为unix编码
:set fileformat=unix

类似的还有 mac2unix, unix2mac 适用于mac系统和unix系统编码转换;

例子:

wyk_csdh.sh

#!/bin/bash
BASEDIR="`dirname $0`"
name=$1
company=$2echo $BASEDIR
echo $name
echo $company

这个shell在windows环境下编辑,上传到linux环境执行后会报错:

使用cat -v命令可以看到非打印的特殊字符:

cat --help
Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s), or standard input, to standard output.-A, --show-all           equivalent to -vET-b, --number-nonblank    number nonempty output lines, overrides -n-e                       equivalent to -vE-E, --show-ends          display $ at end of each line-n, --number             number all output lines-s, --squeeze-blank      suppress repeated empty output lines-t                       equivalent to -vT-T, --show-tabs          display TAB characters as ^I-u                       (ignored)-v, --show-nonprinting   use ^ and M- notation, except for LFD and TAB--help     display this help and exit--version  output version information and exit

使用dos2unix转为unix编码:

使用vim命令转换编码:

希望本文对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!

Linux编码及dos2unix,unix2dos命令相关推荐

  1. dos2unix和unix2dos命令使用

    转自: http://solecjj.blogbus.com/logs/19425369.html dos2unix, unix2dos 用来实现 DOS <=> UNIX text fi ...

  2. 【Linux系统管理】05 常用命令 06 vim编辑器

    一.命令的基本格式 1.1 命令的提示符 [root@localhost ~]# []:这是提示符的分隔符号,没有特殊含义. root:显示的是当前的登录用户,现在使用的是root用户登录. @:分隔 ...

  3. 很实用的Linux 系统运维常用命令及常识(超实用)

    很实用的Linux 系统运维常用命令及常识(超实用) 作为Linux运维,需要了解Linux操作系统的基本使用和管理知识,下面脚本之家小编给大家介绍下Linux运维需要掌握的命令,想成为Linux运维 ...

  4. Linux系统运维常用命令

    Linux 系统运维常用命令 1 文件管理2 软件管理3 系统管理 4 服务管理5 网络管理6 磁盘管理 7 用户管理8 脚本相关9 服务配置 ============================ ...

  5. linux无界面手敲命令笔记

    0 Ubuntu相关命令简介 1. 文件及目录操作命令 pwd:显示用户当前所处的目录 ls:列出目录下的文件清单 cd:改变当前目录cd - 返回上一级目cd / 进入根目录不加参数或参数为&quo ...

  6. linux 批量处理 dos2unix

    在 windows 下编辑过的文件一般都会被保存为 dos 格式, 而 mac os x 和 *nix 类系统一般都是使用 unix 格式, 在windows下编辑过的文件在*nix下打开,会被加上^ ...

  7. linux解压mysql文件命令行_linux mysql命令

    1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...

  8. linux sort,uniq,cut,wc命令详解

    linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...

  9. linux查代替命令,Linux下查/删/替 命令(转)

    ▪查看某目录下所有文件的个数: [root@localhost1 opt]# ls -l |grep "^-"|wc -l ▪查看某目录下所有文件的个数,包括子目录里面的: [ro ...

最新文章

  1. android学习笔记Fragment的使用
  2. 101个MySQL的调节和优化的Tips
  3. SSH HTTPS 公钥、秘钥、对称加密、非对称加密、 总结理解
  4. WinForm------GridControl单元格内容修改外表样式
  5. Jmeter之测试片段和模块控制器应用
  6. V-SQL的简单使用
  7. mockit学习(一)
  8. 代的划分是根据计算机的运算速度来划分,计算机的发展经历了四代,代的划分是根据计算机的运算速度来划分....
  9. 二维傅里叶变换的矩阵表示
  10. std::stack使用总结
  11. 三色旗问题中的快排应用
  12. SQL Server2019配置管理器无法连接到 WMI 提供程序
  13. x98air2+android+升级,【转】台电x98 3G 平板刷机、升级、ROOT详解及教程
  14. Zabbix5.0网易邮箱163告警详细步骤
  15. ArcMap突然无法打开
  16. 读《小王子三部曲-夜间飞行》有感
  17. 【模块介绍】6×6矩阵键盘(硬件部分和扫描方式)
  18. import obspy报错‘numpy.int64‘ object has no attribute ‘split‘`
  19. 学完java学历不高工作能找吗_低学历学Java能找到工作吗?
  20. Android 12.0 Launcher客制化指导手册

热门文章

  1. 启天m4700计算机开机不显示,开机不显示logo随后直接进入操作系统
  2. 2021年读书清单及进度
  3. linux网络数据包流程
  4. 关于微信支付,退款操作,原路返回
  5. 线性查找(C语言实现)
  6. 有这五款团队协作工具,企业不用再担心团队协作效率低!
  7. 前端实现返回前一页面
  8. c# mysql 汉字乱码_C#连接MySQL汉字乱码
  9. 2021年资料员-通用基础(资料员)报名考试及资料员-通用基础(资料员)证考试
  10. 潭州课堂25班:Ph201805201 爬虫基础 第十五课 js破解 二 (课堂笔记)