bash下自动重新运行git/curl等工具

在使用诸如git/curl等工具的时候,如果网络状况不佳,经常会产生出错中断的情况,于是我们就会发现晚上挂机的下载一些代码和工具包,早上再看已经中断。

为应对这种情况我们需要判断下载工具的运行结果,如果出错则要重新运行,而这个需求使用bash的脚本完全可以搞定,贴代码:

#!/bin/bash

if [ $# -lt 1 ]; then
    echo '[Usage]'
    echo "      $(basename ${0}) \"<command> <arguments>\""
    exit 0
fi

EXEC="$@"

echo calling ${EXEC}
${EXEC}

while [ $? -ne 0 ]
do
  echo calling ${EXEC}
  ${EXEC}
done

保存为arse_call并放入PATH包含的路径,或者将其所在路径加入PATH

接着可以运行想要使用的工具例如git:

asre_call git clone git://code.qt.io/qt-creator/qt-creator.git

或者curl:

asre_call curl -C - -O https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz

这样下载工作在失败后即可重试直到成功或者CTRL+C

PS:

这里向大家推荐qt-creator这个超级好用的C++编辑器,直接集成cmake编译环境,急速而有功能强劲,比基于java的eclipse+CDT不知快了多少,而功能上针对C++的部分差距不大,易用性上可能略差一点,但对于编码来说应该是不影响的。

posted on 2017-01-09 09:30  闻冥  阅读(358)  评论(0编辑  收藏  举报

导航