美文网首页
Windows下Shell脚本运行错误展示错误信息并停止向下执行

Windows下Shell脚本运行错误展示错误信息并停止向下执行

作者: DON_1007 | 来源:发表于2017-12-23 16:54 被阅读0次

shell脚本运行完毕之后会直接关闭窗口,不便于开发者查看运行结果,这点可以通过sleep来实现暂停

新建脚本 demoshell

#!/usr/bin/env bash

#获取传入的第一个参数
parmas1=$1

echo "params1= ${parmas1}"

在命令窗口执行demoshell.sh xxxxx,会启动 shell窗口 ,打印params1= xxxxx之后就会关闭窗口

想要不关闭窗口可以在脚本的最后添加 sleep 来实现。
例如

#!/usr/bin/env bash

#获取传入的第一个参数
parmas1=$1

echo "params1= ${parmas1}"

#表示沉睡100秒,Ctrl + C 可以打断沉睡状态
sleep 100

再次执行demoshell.sh xxxxx,执行完毕之后,窗口不会直接关闭,可以查看运行结果

截图_20171223160820.png

shell脚本还有一个不好的地方就是中间的一个命令运行失败之后还会继续向下执行,这是一个很危险的行为,并且向下执行的时候会冲掉失败信息,无法根据错误提示来修改脚本。

接下来执行一个不存在的任务,让shell脚本运行失败

#!/usr/bin/env bash

#获取传入的第一个参数
params1=$1

echo "params1= ${params1}"

# 执行一个不存在的任务
./gradlew :app:emptyTask -x lint

#表示沉睡100秒,Ctrl + C 可以打断沉睡状态
sleep 100
截图_20171223164358.png

执行失败之后由于sleep 100 ,可以看到错误提示,如果没有sleep 100存在,执行失败之后也是立马关闭了窗口,看不到错误信息;而命令执行成功之后需要关闭窗口的,那能不能想办法做到两者兼顾呢?
答案是肯定的,原理就是判断命令执行状态,只有在命令执行失败的时候,触发sleep行为,阻塞命令向下运行

那么最终要实现的效果是:
  • 执行失败的时候显示错误信息,并停止向下执行
  • 执行成功的时候可以直接关闭shell窗口
#!/usr/bin/env bash

# 判断上条命令是否执行成功,当执行失败的时候显示错误信息,并停止向下执行
function pauseErr(){
    if [ $? -ne 0 ];then
        echo "pause because of failed ; Ctrl + C to exit"
        #沉睡100秒,以便查看异常信息
        sleep 100  
        #当调用者使用Ctrl + C打断沉睡之后,直接退出脚本,阻止脚本向下执行
        exit
    fi
}

#获取传入的第一个参数
params1=$1

echo "params1= ${params1}"

# 执行一个不存在的任务
./gradlew :app:emptyTask -x lint

#调用PauseErr函数判断上条命令是否执行成功
pauseErr

去掉 sleep 100,运行脚本,捕获到失败信息,显示错误信息,并停止向下执行

截图_20171223164726.png

注释掉./gradlew :app:emptyTask -x lint;
再次运行脚本,运行成功,直接就关闭了窗口

相关文章

  • Windows下Shell脚本运行错误展示错误信息并停止向下执行

    shell脚本运行完毕之后会直接关闭窗口,不便于开发者查看运行结果,这点可以通过sleep来实现暂停 新建脚本 d...

  • Shell脚本

    Windows写的shell脚本在Linux执行错误 reason:在windows下编辑的sh文件的格式为dos...

  • 在Windows下编写的shell脚本,上传linux后无法运行

    在Windows下编写的shell脚本,上传linux后无法运行,经常碰到"not found"错误,仔细看报错,...

  • 10-Python之路-进阶-异常

    简介 程序运行时,如果遇到错误会停止程序执行,并且报错,这就是异常。程序停止执行并且提示错误信息这个动作,称之为:...

  • 异常和模块、包

    自学整理记录,大神见笑 异常 程序运行时,遇到错误,停止执行,称为异常 程序停止且提示错误信息,称为抛出异常 捕获...

  • 屏幕截图

    在测试脚本执行过程中,当运行到某些步骤时存在运行失败的可能性。当脚本运行失败时,可以看脚本运行错误信息是常用的方法...

  • mac终端下运行shell脚本

    From: 在mac下编写shell脚本并执行 一些资料 Shell教程-for 菜鸟教程 Shell脚本编程30...

  • python:异常

    程序运行时遇到错误就会停止运行,并提示错误信息即为异常 程序停止运行并提示错误信息即为抛出异常 程序开发时,很难将...

  • Python3 提升你脚本的逼格系列(一)

    通过输入重定向获取文件 脚本 filein.py 的内容如下: 使用这个脚本 终止脚本并给出错误信息 执行脚本 脚...

  • python的第一个程序

    如果是用windows,请打开CMD,并执行python。如果是UNIX类的,就运行shell,并执行python...

网友评论

      本文标题:Windows下Shell脚本运行错误展示错误信息并停止向下执行

      本文链接:https://www.haomeiwen.com/subject/dudqgxtx.html