当在Linux中查看文件时发现了^M,你可能就需要注意文件的分隔符了。使用的不是Linux的文件分割符,而是window的文件分隔符。

       解决的办法也很简单,使用dos2unix转换文件的分隔符即可。

 

       最近的工作中也遇到了一次这个问题。

       docker容器启动不起来,使用k8s和docker的logs命令查看,提示的都是shell脚本缺少then。

       开始是觉得if和then的匹配除了问题,确认不是这个问题后。 使用docker run -it xxx:xxx sh的方式先启动容器。

       找到对应的脚本,加上set -x set+x来调试脚本,发现第一个if就出错了,而且文件中就有^M。

       使用dos2unix,脚本可以顺利执行。容器也就可以正常启动了。

相关文章:

  • 2022-12-23
  • 2021-12-10
  • 2022-01-08
  • 2021-07-13
  • 2022-12-23
  • 2021-07-26
猜你喜欢
  • 2021-06-20
  • 2022-12-23
  • 2021-08-27
  • 2022-12-23
  • 2022-12-23
  • 2021-09-18
  • 2022-01-10
相关资源
相似解决方案