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

时间:2022-11-04 03:14:28

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

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

#!/bin/bash

if [ $# -lt  ]; then
echo '[Usage]'
echo " $(basename ${0}) \"<command> <arguments>\""
exit
fi EXEC="$@" echo calling ${EXEC}
${EXEC} while [ $? -ne ]
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++的部分差距不大,易用性上可能略差一点,但对于编码来说应该是不影响的。