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++的部分差距不大,易用性上可能略差一点,但对于编码来说应该是不影响的。