最近项目中用到了脚本.sh文件,本地测试可以跑,放到运行环境跑不了了。

脚本的内容是这样的:

#!/bin/bash -ex

set -ex

WORK_DIR=${WORKSPACE-"$(cd `dirname $0`;pwd)/.."}

PROG_NAME=$0

IMAGE_NAME=$1

IMAGE_VERSION=$2

usage() {

echo "Usage: $PROG_NAME \n

sh build_docker.sh --IMAGE_NAME XXX --IMAGE_VERSION XXX \n

--IMAGE_NAME : package or test \n

--IMAGE_VERSION : service IMAGE_VERSION. eg: 1.0.0 \n

eg: sh build_docker.sh --IMAGE_NAME test --IMAGE_VERSION 1.0.0 \n"

exit 2 # bad usage

}

if [ "$1" == "-h" ];then

usage

fi

while [[ $# -gt 0 ]]; do

key=$1

case $key in

--IMAGE_NAME)

IMAGE_NAME=$2

shift # past argument

shift # past value

;;

--IMAGE_VERSION)

IMAGE_VERSION=$2

shift # past argument

shift # past value

;;

*)

shift # past argument

shift # past value

;;

esac

done

if [ -z "$IMAGE_VERSION" ]; then

echo "ERROR: version is not defined!!!"

exit 1

fi

#cd ${WORK_DIR}/datatransfer/

mvn -DIMAGE_NAME=$IMAGE_NAME -DIMAGE_VERSION=$IMAGE_VERSION clean package docker:build -DskipTests

在windows下面脚本可以跑,放到Linux下面就跑步起来了,报错内容如下:

报错信息

Linux上查看

在Linux执行cat -v 可以看到有很多^M的字符,这个是windows的换行,所以在Linux中执行脚本会失败。而在windows中可以识别这些换行,所以可以正常执行脚本。

解决办法

vi 文件名

命令模式下输入:

:set fileformat=unix

:w

然后重新cat -v一下看到^M都没有了,这样脚本就可以在Linux中跑起来了。

linux运行脚本运行不了,shell脚本在windows上可以执行,Linux上面不能执行相关推荐

  1. linux脚本监控网卡流量,Shell脚本实现linux监控网卡实时流量[带宽]的方法

    今天分享一个Linux网卡实时流量查看的shell脚本. 以下是脚本: #!/bin/bash if [ -z "$1" ]; then echo echo usage: $0 n ...

  2. Linux虚拟机 百度云 监控,使用Shell脚本监控KVM虚拟机

    最近有朋友问我平时使用KVM虚拟机的时候用什么软件进行管理.其实我平时都是使用virsh命令通过命令行进行虚拟机的管理的.虽然RedHat有虚拟机管理和监控平台,但是只能在redhat发行版上使用,其 ...

  3. 电脑显示没有被指定在上运行_win10系统运行程序提示“dll没有被指定在windows上运行”的办法...

    有关win10系统运行程序提示"dll没有被指定在windows上运行"的操作方法想必大家有所耳闻.但是能够对win10系统运行程序提示"dll没有被指定在windows ...

  4. Windows上的原生Linux容器(盆盆的Kubecon课程分享)

    您测试过Windows上的Linux容器吗? 这是本周末刚闭幕的Kubecon大会,笔者在课堂上提出的问题. 关于这个问题,大家常有的困惑就是,我们为什么要在Windows上运行Linux容器?您可以 ...

  5. BML CodeLab重磅更新:在Windows上可原生Linux AI开发

    自从微软发布 WSL2(Windows Subsystem for Linux 2)之后,机器学习开发者.数据科学家就可以在 Windows 上做原生 Linux 开发了. 但想正常的使用,其实并不简 ...

  6. Go Windows上生成适用于 Linux 的可执行文件

    阅读目录 Go Windows上生成适用于 Linux 的可执行文件 Go Windows上生成适用于 Linux 的可执行文件 在Windows上生成适用于Linux的可执行文件是一项相对复杂的任务 ...

  7. Linux配置脚本导出运行,linux服务器部署jar包以及shell脚本的书写

    背景:记录在linux环境下部署jar程序的过程 1 部署过程记录 1.1 程序结构 这里的main函数就在DemRest2.java 文件中. 为了部署方便,要做到以下两点: 1 在导出的jar包中 ...

  8. linux shell脚本 wget,bash – 在shell脚本中运行wget和其他命令

    以下是编写shell脚本时要使用的一些准则. >使用它们时始终引用变量.这有助于避免误解的可能性. (如果文件名包含空格怎么办?) >不要相信像rm这样的命令上的文件加载.请改用循环. ( ...

  9. linux shell运行脚本命令行参数,shell脚本命令行参数简介

    之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互. bash shell提供了命令行参数添加在命令后面的数据值).命令行选项修改命令行为的单字符值)和直接读取键盘输入. 1.命 ...

  10. 运行jar包的通用shell脚本

    文章目录 1 问题背景 2 脚本 1 问题背景 研究技术时时常需要部署运行jar,每次手动输入java -jar xxx命令去启动项目就很烦.因此用一个shell脚本运行jar包变得很方便. 2 脚本 ...

最新文章

  1. HDU 4407 sum 容斥原理
  2. 对DeDecms之index.php页面的补充
  3. zabbix4.0添加mysql报警_部署监控三剑客 Zabbix4.0 监控以及告警机制
  4. Java 线程池之FixedThreadPool(Java代码实战-003)
  5. cannot import name '_C'
  6. urllib 模块学习
  7. 奥巴马:乔布斯改变我们每个人看世界的方式
  8. 为什么交叉熵(cross-entropy)可以用于计算代价?
  9. 开源 java CMS - FreeCMS2.8 数据对象 site
  10. appendChild+insertBefore:创建和添加节点
  11. Linux例行性工作排程 (crontab)
  12. 【WP开发】JSON数据的读与写
  13. Sublime Text 2 注册码/破解方法【蕃薯耀】
  14. 夏普Sharp MX-B6581D 一体机驱动
  15. MySQL数据库被删除如何恢复
  16. 二代测序方法:DNA测序之靶向重测序
  17. c语言用星号编写矩形,c语言星号打印矩形三角形菱形等图案.doc
  18. 如何免费下载学术论文-谷粉学术
  19. 《计算之魂》1.11.2--阅读心得
  20. 经验分享:魅族手机刷机步骤

热门文章

  1. compute和compute by
  2. react实现简单的计算器功能。
  3. 《当程序员的那些狗日日子》二
  4. 广东法院公开裁判文书超350万份
  5. java bitset_Java1.8-BitSet源码分析
  6. 800G 112Gb/S(II), Terabit Ethernet – How? (Part2)
  7. 《那些年啊,那些事——一个程序员的奋斗史》六
  8. VMware-Esxi6.7各个版本镜像文件iso下载链接
  9. JNI/NDK入门指南之JNI数据类型,描述符详解
  10. 什么是Apache APR