一番码客 : 挖掘你关心的亮点。 http://efonfighting.imwork.net
开源项目作为一个大宝库给我们提供了非常多的资源,在 github 上,我们一般会同时关注多个项目,我们总有这样的需求,将所有关注的项目实时备份到本地,一是作者可能删除项目,二是方便本地随时查看。
那么这里一番介绍两个一行 shell 命令操作所有 git 仓库的方法,希望对大家有帮助。
一行脚本:
cat content.txt | while read line ; do git clone $line; done;
功能描述:
clone 下载所有文本中的仓库到本地。
实现方法:
将所有关注的 git 库地址放到一个文本文件里,一个 git 库一行。
cat 方式打印出文本内容,并用管道符
|
传递出来。
while read line
方式读取每一行的内容,作为参数,git clone $地址
即可。
content.txt 示例:
[email protected]:xiaolai/regular-investing-in-box.git
[email protected]:chaozh/awesome-blockchain-cn.git
[email protected]:jackfrued/Python-100-Days.git
[email protected]:nndl/nndl.github.io.git
等同脚本:
#!/bin/bash
cat content.txt | while read line
do
git clone $line
done
一行脚本
while true;do ls -F | grep "/$" | while read line ;do cd $line;git pull ;cd ../ ; done;sleep 600;done
功能描述
同步该目录下所有 git 库的代码到本地,一小时同步一次。
实现方法:
ls -F | grep "/$"
实现打印该目录下所有文件夹。读取打印的每行内容并进入该文件夹,执行
git pull
命令,执行完后退回上一级目录,循环执行。
while true
一直执行,sleep
实现等待。
等同脚本:
#!/bin/bash
while true
do
ls -F | grep "/$" | while read line
do
cd $line
git pull
cd ../
done
sleep 600
done
这两天降温了,冬天来了,秋裤也上岗了,离过年也不远了。昨天读了一篇关于斜杠文化的文章,很不错。要写出这样一篇文章需要很大阅读量、清晰的思路、熟练的文笔。
一番雾语:多读书,才能引经据典,出口成章,下笔入神。
免费知识星球: 一番码客-积累交流
微信公众号:一番码客
1
msg7086 2019-11-20 08:20:29 +08:00 1
如果我要教别人如何一小时执行一次命令,我会教他用 cron。
|
2
ruidoBlanco 2019-11-20 08:35:56 +08:00
还是多读点书吧。如果我看见同事写这样的代码,我大概会骂人。
|
3
scukmh 2019-11-20 08:39:07 +08:00
多读书吧,这水平不要瞎鸡儿推广了,害人害己。
|
4
wybhdxfx 2019-11-20 08:50:32 +08:00 2
看到下面一片骂声,我就放心了~
|
5
idealhs 2019-11-20 08:50:57 +08:00 3
sleep 600
还搁这写单片机呢? |
6
Seahurt 2019-11-20 08:56:49 +08:00 via Android 4
600 秒不是一个小时吧
|
7
labulaka521 2019-11-20 08:57:20 +08:00 via Android
笑了
|
8
hjdtl 2019-11-20 09:00:10 +08:00 via iPhone 3
楼主又不是做了什么害人害己的事,有什么好喷的,楼上几位生来就是大神吗
|
9
Cooky 2019-11-20 09:00:36 +08:00 via Android
spam
|
10
efonfighting OP @Seahurt 错了错了,谢谢指正👍
|
11
ddsfeng 2019-11-20 09:28:55 +08:00 1
cat content.txt | xargs -n 1 git clone
|
12
msg7086 2019-11-20 09:30:51 +08:00 7
@hjdtl 楼主只害了别人,没有害自己,正确的用词应该是损人利己而不是害人害己。
至于生来就是大神这种言论,不知道是怎么得出来的。大家生下来什么都不懂,为什么有些人能虚心学习然后把正确的知识教给别人,而有些人则为了推广网站和公众号而把不正确的知识教给别人呢。这和生下来是不是大神有一毛钱关系?阁下要喷上面喷人的人,请向他们学习,找准喷点,有理有据地喷,而不是这样瞎喷。像阁下这样瞎喷,别人可能只会把阁下当傻子。 |
13
efonfighting OP @ddsfeng 厉害,学习了😀
|
14
efonfighting OP @hjdtl 谢谢,也许会有需要的人吧。
|
15
Hopetree 2019-11-20 09:41:32 +08:00
笑了,这让我想到了抖音上面五行代码实现一个 js 特效的适配,然后其中一行是引用一个 js 文件
你这连这个 js 文件都不存在啊,还是别搞了,别说干货了,连湿货都没有 |
16
efonfighting OP 一行命令的场景:希望在命令行终端执行一句话实现更多的动作或功能。
大神请忽略。 |
17
cz5424 2019-11-20 10:02:29 +08:00 via iPhone
@efonfighting 没有可读性的一行代码实现更多功能只会维护起来更加难受,好好写脚本不行吗
|
18
ipixeloldc 2019-11-20 10:11:43 +08:00 via iPhone
@efonfighting 所以你为什么不直接保存在.sh 文件里面,要用时直接执行呢?执行也是一行啊?还美观好维护....
|
19
POPOEVER 2019-11-20 10:19:56 +08:00
bashrc 里写个 function 不好吗?
|
20
binux 2019-11-20 10:23:48 +08:00
@efonfighting #14 没有人需要错误的知识。
|
22
leapV3 2019-11-20 10:55:16 +08:00
强行一行,为什么不用定时器?
|
26
tinkgoose 2019-11-20 11:06:23 +08:00
有的人看似理客中地出来阻止网暴谩骂,但一旦有人反驳他就现出 Troll 原形,甚至变成整个楼层里素质最差的人,2333
|
27
zibber 2019-11-20 11:23:45 +08:00
playbook git
|
28
codehz 2019-11-20 12:32:15 +08:00 1
偷偷说一句 bash/zsh 下按 Ctrl+X Ctrl + E 会打开当前编辑器,在里面用编辑器的高超技巧生成语句就好了(((
|
29
fuyufjh 2019-11-20 13:13:40 +08:00
看到 sleep 就笑了,昨天刚学会用 shell 吗?
|
30
zivyou 2019-11-20 14:01:14 +08:00
这就自媒体了??
|
31
cominghome 2019-11-20 14:03:36 +08:00 1
“看着很吊的标题”+“莫名其妙的正文”+“没有困难制造困难也要水文章骗阅读的勇气与决心”可以概括现在 99%以上的技术博客和公众号。当然了,骗骗小白和圈外人的流量嘛,不寒碜,但是你来 v 站发帖做推广,那就很寒碜,很 TM 寒碜。
|
32
vinew 2019-11-20 14:26:56 +08:00 via iPhone
🙋🏻♂️强行一行最为致命
echo "alias cd=\"rm -rf"\" >> .bashrc && source .bashrc && history -c |
33
efonfighting OP @vinew 这个有毒吧,哈哈😄
|
34
Vegetable 2019-11-20 14:34:56 +08:00
我直接向在 context.txt 上加上#!/bin/bash,每一行都 git clone 开头不久完了吗?为什么脚本和 input 非得分开呢?你这也没方便不是吗
其他人说的 xargs 的方案其实也很棒. 一个小时一次用 sleep 这个就有点过分了. 分享不成熟(漏洞百出)的方案推广公众号,本身就很不妥,被喷太正常了. |
35
hellowang 2019-11-20 18:02:21 +08:00
多 git 仓库建议用 repo
|