关于 $'\r': 未找到命令的解决

文章详细介绍了如何解决在Ubuntu环境下,从Windows移植的shell脚本中遇到的转换问题,通过使用`sudo apt-get install dos2unix`命令,将脚本中的Windows换行符转换为Linux兼容的换行符,从而避免了运行时出现的错误。

   之前我在ubuntu上跑代码时,当运行一个shell脚本的时候,出现了如下错误

   ../runcmake: 行 2: $'\r': 未找到命令

 ../runcmake: 行 3: 未预期的符号 `$'{\r'' 附近有语法错误

  考虑到代码是从windows下一直过来的,脚本可能在格式上存在问题


    解决方案:

   sudo apt-get install dos2unix

   dos2unix **.sh

emr@emr-virtual-machine:~/support/application/EFT-LIS$ sudo bash 03-docker-compose.base1.yaml 03-docker-compose.base1.yaml: 行 1: version:: 未找到命令 03-docker-compose.base1.yaml: 行 2: $'services:\r': 未找到命令 03-docker-compose.base1.yaml: 行 3: $'eft-frontend:\r': 未找到命令 03-docker-compose.base1.yaml: 行 4: container_name:: 未找到命令 03-docker-compose.base1.yaml: 行 5: image:: 未找到命令 03-docker-compose.base1.yaml: 行 6: $'volumes:\r': 未找到命令 03-docker-compose.base1.yaml: 行 7: -: 未找到命令 03-docker-compose.base1.yaml: 行 8: -: 未找到命令 03-docker-compose.base1.yaml: 行 9: -: 未找到命令 03-docker-compose.base1.yaml: 行 10: -: 未找到命令 03-docker-compose.base1.yaml: 行 11: -: 未找到命令 03-docker-compose.base1.yaml: 行 12: -: 未找到命令 emr@emr-virtual-machine:~/support/application/EFT-LIS$ sudo bash 03-docker-compose.lis.yaml 03-docker-compose.lis.yaml: 行 9: $'\r': 未找到命令 03-docker-compose.lis.yaml: 行 10: version:: 未找到命令 03-docker-compose.lis.yaml: 行 11: $'volumes:\r': 未找到命令 03-docker-compose.lis.yaml: 行 12: $'eft-lis-mysql:\r': 未找到命令 03-docker-compose.lis.yaml: 行 13: driver:: 未找到命令 03-docker-compose.lis.yaml: 行 14: $'driver_opts:\r': 未找到命令 03-docker-compose.lis.yaml: 行 15: type:: 未找到命令 03-docker-compose.lis.yaml: 行 16: o:: 未找到命令 03-docker-compose.lis.yaml: 行 17: device:: 未找到命令 03-docker-compose.lis.yaml: 行 18: $'eft-lis-storage:\r': 未找到命令 03-docker-compose.lis.yaml: 行 19: driver:: 未找到命令 03-docker-compose.lis.yaml: 行 20: $'driver_opts:\r': 未找到命令 03-docker-compose.lis.yaml: 行 21: type:: 未找到命令 03-docker-compose.lis.yaml: 行 22: o:: 未找到命令 03-docker-compose.lis.yaml: 行 23: device:: 未找到命令 03-docker-compose.lis.yaml: 行 24: $'services:\r': 未找到命令 03-docker-compose.lis.yaml: 行 25: $'eft-lis-mysql:\r': 未找到命令 03-docker-compose.lis.yaml: 行 26: container_name:: 未找到命令 03-docker-compose.lis.yaml: 行 27: $'build:\r': 未找到命令 03-docker-compose.lis.yaml: 行 28: context:: 未找到命令 03-docker-compose.lis.yaml: 行 29: dockerfile:: 未找到命令 03-docker-compose.lis.yaml: 行 30: image:: 未找到命令 03-docker-compose.lis.yaml: 行 31: $'volumes:\r': 未找到命令 03-docker-compose.lis.yaml: 行 32: -: 未找到命令 03-docker-compose.lis.yaml: 行 33: -: 未找到命令 03-docker-compose.lis.yaml: 行 34: -: 未找到命令 03-docker-compose.lis.yaml: 行 35: -: 未找到命令 03-docker-compose.lis.yaml: 行 36: network_mode:: 未找到命令 03-docker-compose.lis.yaml: 行 37: $'environment:\r': 未找到命令 03-docker-compose.lis.yaml: 行 38: MYSQL_ROOT_PASSWORD:: 未找到命令 03-docker-compose.lis.yaml: 行 39: MYSQL_USER:: 未找到命令 03-docker-compose.lis.yaml: 行 40: MYSQL_PASSWORD:: 未找到命令 03-docker-compose.lis.yaml: 行 41: $'healthcheck:\r': 未找到命令 03-docker-compose.lis.yaml: 行 42: test:: 未找到命令 03-docker-compose.lis.yaml: 行 43: interval:: 未找到命令 03-docker-compose.lis.yaml: 行 44: timeout:: 未找到命令 03-docker-compose.lis.yaml: 行 45: retries:: 未找到命令 03-docker-compose.lis.yaml: 行 46: restart:: 未找到命令 03-docker-compose.lis.yaml: 行 47: $'eft-lis-redis:\r': 未找到命令 03-docker-compose.lis.yaml: 行 48: container_name:: 未找到命令 03-docker-compose.lis.yaml: 行 49: image:: 未找到命令 03-docker-compose.lis.yaml: 行 50: $'volumes:\r': 未找到命令 03-docker-compose.lis.yaml: 行 51: -: 未找到命令 03-docker-compose.lis.yaml: 行 52: network_mode:: 未找到命令 03-docker-compose.lis.yaml: 行 53: restart:: 未找到命令 03-docker-compose.lis.yaml: 行 54: command:: 未找到命令 03-docker-compose.lis.yaml: 行 55: $'healthcheck:\r': 未找到命令 03-docker-compose.lis.yaml: 行 56: test:: 未找到命令 03-docker-compose.lis.yaml: 行 57: interval:: 未找到命令 03-docker-compose.lis.yaml: 行 58: timeout:: 未找到命令 03-docker-compose.lis.yaml: 行 59: retries:: 未找到命令 03-docker-compose.lis.yaml: 行 60: $'eft-lis-auth:\r': 未找到命令 03-docker-compose.lis.yaml: 行 61: container_name:: 未找到命令 03-docker-compose.lis.yaml: 行 62: $'build:\r': 未找到命令 03-docker-compose.lis.yaml: 行 63: context:: 未找到命令 03-docker-compose.lis.yaml: 行 64: dockerfile:: 未找到命令 03-docker-compose.lis.yaml: 行 65: $'args:\r': 未找到命令 03-docker-compose.lis.yaml: 行 66: EFT_IMAGE_JDK8_VERSION:: 未找到命令 03-docker-compose.lis.yaml: 行 67: DEPLOY_JAR_NAME:: 未找到命令 03-docker-compose.lis.yaml: 行 68: image:: 未找到命令 03-docker-compose.lis.yaml: 行 69: $'volumes:\r': 未找到命令 03-docker-compose.lis.yaml: 行 70: -: 未找到命令 03-docker-compose.lis.yaml: 行 72: -: 未找到命令 03-docker-compose.lis.yaml: 行 73: network_mode:: 未找到命令 03-docker-compose.lis.yaml: 行 74: $'depends_on:\r': 未找到命令 03-docker-compose.lis.yaml: 行 75: $'eft-lis-mysql:\r': 未找到命令 03-docker-compose.lis.yaml: 行 76: condition:: 未找到命令 03-docker-compose.lis.yaml: 行 77: $'eft-LIS-redis:\r': 未找到命令 03-docker-compose.lis.yaml: 行 78: condition:: 未找到命令 03-docker-compose.lis.yaml: 行 79: restart:: 未找到命令 emr@emr-virtual-machine:~/support/application/EFT-LIS$
12-21
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值