前言
最近工作环境的shell不是换了zsh吗。然后也想着试着简单了解与实践一下zsh脚本,刚好自己有一个提高工作效率的脚本需求,所以就花点时间看了下zsh的文档然后小试牛刀了一把。体验如网友 “陌辞寒”的文章Zsh 开发指南(第一篇 变量和语句)所提的,第一,网上写zsh编程的文章很少;第二,官网的文档对初学有一定的门坎。所以呢推荐大家可以先通过 “陌辞寒 的zsh教程去入门。然后继续深入浅出的话还是得深挖官方文档与在实践中提高了吧
需求
开发与维护的项目越来越多,本地git仓库的目录也是越来越多,然后有个想法是写个脚本,遍历当前工作目录下的所有目录并拉取远端的仓库代码的更新。
如上一个很简单需求,但其它基本会涉及到zsh脚本中的变量定义与使用,目录的获取与遍历,命令行的调用等。算是一个zsh的入门级脚本了吧
实现
#!/usr/bin/env zsh
local files=($(print -l */))
for f ($files) {
print "cd $f and git fetch --all"
cd $f
git pull
cd ..
print "cd .."
}
将如下代码放在,如git_fetch.zsh中,然后需要赋于可执行权限(chmod + x git_fetch.sh),在目标目录下运行(./git_fetch.sh)