前言

  • 最近想编写一个shell 脚本,用于自动拉取更新所有的git 仓库,这样便于快捷的与远程仓库保持一致,并且不需要花费过多的手动操作时间
  • 万事开头难,如何获取当前的路径呢?

错误操作

  • shell 脚本,其实就是一条条的shell命令的集合,当然shell 脚本可以利用shell 语法,编写多个shell的函数,实现更强大的自动化功能,节省大量的重复工作
  • 我记得Linux的pwd,就可以获取当前的路径,我在shell 脚本里使用:echo $pwd,发现打印的竟然是空目录
  • echo $pwd 为何是空目录呢?通过查找Linux shell手册,发现$pwd 要改为大写 $PWD 才可以
zhangsz@DESKTOP-R20T7CK MINGW64 /d/gitlab/rtthread
$ echo $pwd


zhangsz@DESKTOP-R20T7CK MINGW64 /d/gitlab/rtthread
$ echo $PWD
/d/gitlab/rtthread

脚本测试

  • 编写脚本,列举当前目录下所有的目录名,也就是获取当前路径(文件夹)下的所以git 仓库的目录,因为每个git 仓库,都是一个目录
#! /bin/bash

function git_show_dirs() {
        for dir_name in `ls $1`
        do
                cur_dir="$1/$dir_name"
                # echo $cur_dir
                if [ -d $cur_dir ]
                then
                        echo $cur_dir
                fi
        done
}
# echo $PWD
git_show_dirs $PWD

运行效果

  • 找一个包含文件与文件夹的目录,把这个脚本复制过去,执行一下

在这里插入图片描述

  • 这样通过获取当前的路径,获取了当前路径下所有的文件夹列表了

小结

  • 使用shell 脚本,可以提高开发的效率,Linux 的shell脚本,不仅可以在Linux上使用,还可以运行windwos上,如git-bash、Cygwin64 Terminal 上都可以执行
  • 熟悉shell脚本的编写,让部分操作自动化,可以节约开发的时间与精力
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐