在国内拉取 github 上的代码,有时能连上,有时连不上,这就导致拉取源码经常失败。可以手动多试几次,但是这样挺麻烦,不是我等喜欢用代码自动化一切的程序员的风格。于是就写了一个 shell 自定义函数来解决这个问题。代码如下:
loop-do ()
{
$*;
while [[ $? != 0 ]]; do
$*;
done
}
原理就是把要执行的命令放到一个 while 循环里执行,用命令的执行结果作为 while 循环的终止条件,当检测到命令执行成功时就终止循环,否则继续尝试。
其中的 $* 变量代表 loop-do 函数的所有参数,也就是我们要执行的命令。条件判断中的 $? 变量代表最近执行的命令的执行结果,如果是 0 ,表示执行成功,否则,就表明命令执行失败。
把这个函数定义放到 .bashrc 或 .zshrc 文件中,然后执行
. .bashrc
或
. .zshrc
让命令生效
这样就可以在终端中使用了。使用示例:
$ loop-do git pull
这个命令不仅能执行 git pull ,其他任何需要多次重试到命令都可以。这样就不用再傻傻的一遍一遍的手动执行了。
shell 自定义函数非常有用,能实现很多自动化操作,希望这个例子能对大家有所帮助。
欢迎关注微信公众号:文本魔术,了解更多。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.