BladeX 框架 deploy 脚本执行报错问题

Jireh 的个人博客 记录分享生活、程序、信息的精彩人生 本文由博客端 https://www.lyile.cn 主动推送

BladeX 框架 deploy 脚本执行报错问题

在部署过程中,在 Windows 开发电脑上上传文件到 Linux 生产服务器中,执行 deploy.sh 脚本的时候报错。

报错如下:

syntax error near unexpected token `$'\r''

原因是 Windows 上编码和 Linux(Unix)上不一致,而上传复制的时候 sh 脚本中又带有这样的编码格式,所以会导致 sh 脚本执行报错。

解决方案有好几种:

  1. 使用 sed 工具 通过执行 sed -i 's/\r//g' deploy.sh 删除 windows 下多余的回车符。
  2. dos2unix 工具 安装 dos2unix 工具 apt install dos2unix 后,在执行 dos2unix deploy.sh 直接将文件转换成 unix 格式。
  3. tr -d '\r' 跟第一种方式同理,即删除多余回车符

其他还有好几种,但是觉得有些麻烦,不如以上 3 种方便,就不列举了。

  • BladeX
    1 引用
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    770 引用 • 875 回帖 • 528 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    95 引用 • 69 回帖 • 599 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...