shell 脚本 : 获取当前路径与当前路径下的目录列表_shell获取当前路径_张世争的博客-程序员秘密

技术标签: 技术杂谈  git  linux  bash  

前言

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

错误操作

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


[email protected] 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脚本的编写,让部分操作自动化,可以节约开发的时间与精力
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tcjy1000/article/details/124785670

智能推荐

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管_EyreG97的博客-程序员秘密

基本步骤1.创建工程和文件(顶层BDF,还有一个virlog HDL 文件)牢记工程名与顶层文件名相同,不然会出现can’t find design entitle,从而编译时出现错误。2.创建元件:(1)在新工程中创建两个新文件,在File/save as更改文件名和文件地址,在virlog HDL文件中输入代码如下,此代码中包含一个2-4线译码器。(2).在左侧任务导航(project nav...

sublime配置python-rpel_Sublime Text3配置SublimeREPL快捷键的方法(Python)_weixin_39583521的博客-程序员秘密

[{"caption": "SublimeREPL: Python","command": "run_existing_window_command", "args":{"id": "repl_python","file": "config/Python/Main.sublime-menu"}},{"caption": "SublimeREPL: Python - PDB current file...

hibernate项目环境步骤_hijoy99的博客-程序员秘密

1、加载hibernate类库和依赖库(下载hibernate依赖jar包在lib目录required目录下所有及hibernate3.jar、commons-lang.jar、数据库连接jar包)2、创建hibernate.cfg.xml文件(指定数据库连接信息及映射文件路径)3、创建持久化类和映射文件   *.hbm.xml   该映射文件需要在hibernate.cfg.xml中指定

PCRE 正则表达式的几则使用技巧归总_weixin_34232617的博客-程序员秘密

PCRE正则表达式主要用于字符串的模式分割、匹配、查找及替换操作。使用正则表达式在某些简单的环境下可能效率不高,因此如何更好的使用PCRE正则表达式需要综合考虑。我的PCRE正则入门,是起源于网上的一篇文章,这篇文章由浅入深的阐述了PCRE正则表达式使用的方法,我觉得是一个很好的入门材料,不过学成还是要靠个人,在使用的过程中,还是会不断地忘记,因此反反复复的阅读了这篇文章有四...

随便推点

python在煤矿的用途-沅江高校邦数据科学通识课【Python基础语法】答案_weixin_37988176的博客-程序员秘密

沅江高校邦数据科学通识课【Python基础语法】答案it8p沅江高校邦数据科学通识课【Python基础语法】答案关注公众号{帅搜}即可查询答案支持:大学网课,智慧树,知到,超星,尔雅,学习通,选修课,公务员,外语类,财会类,建筑类,职业资格,学历考试,类,外贸类,计算机类等考试;是一个集资料下载与在线考试系统、,是各类考生顺利通过考试的好帮手!而且可以增大地裂缝灾害程度。我国土地荒漠化主要分布于:...

OpenCV之RotatedRect类、minAreaRect函数详解_rotatedrect minarearect_小伟锅的博客-程序员秘密

一、RotatedRect类RotatedRect该类表示平面上的旋转矩形,该类对象有三个重要属性:矩形中心点(质心),边长(长和宽),旋转角度。三种构造函数和三种成员操作函数,RotatedRect类定义如下:class CV_EXPORTS RotatedRect { public: //构造函数 RotatedRect(); RotatedRect(const Point2

推荐一些关于学习Html Css和Js的书吗?_weixin_30735745的博客-程序员秘密

前端易学易懂,随着移动互联网的日益兴起,it行业对于前端的需求也在不断的提高,那么从前端小白修炼成为前端大神的这个过程之中,一些必备的枕边书也是必不可少的。第一本,入门《Head first HTML&CSS》最好的入门书。看两遍就对HTML & CSS 有个大概印象了。此时把w3cschool作为备查手册收藏起来第二本《CSS权威指南(第三版)》最权威...

操作系统——实验三(进程间通信)——3.3.4_四郎别认输的博客-程序员秘密

操作系统——实验三(进程间通信)——3.3.4实验目的1、了解linux系统中进程通信的基本原理。2、分析进程竞争资源现象,学习解决进程互斥的方法。3.3.4进程的管道通信(必做)编制一段程序,实现进程的管道通信。使用系统调用pipe()建立一条管道先。两个子进程p1和分别向管道各写一句话:Child1processissendingamessage!Child2processissendingamessage!而父进程则从管道中读出来自于两个子进程的信息并显示在屏幕上。

手机关键器件质量管理系列讲座(二):PCB十大质量问题与对策_茫茫大士的博客-程序员秘密

FROM:http://www.elexcon.com/news/104933.html漫长的生产流程,诸多的控制点,一招不慎,板子就坏。PCB的质量问题层出不穷也是业界一直头疼的问题,一片板子有问题,贴上去的绝大部分器件 就得一起报废。可恨的是,这些问题通过进料检验(IQC)还发现不了。而更让人烦躁的是,很多问题供应商还能跟你东拉西扯,改善进展缓慢,交货问题不断。笔者收集了P

最长回文子串的三种解法_helloworld20121221的博客-程序员秘密

1 manacher算法#include #include #include #include using namespace std;const int MAX_N=1000002<<1;char str[MAX_N];char s[MAX_N];int p[MAX_N];int n;void pre_solve(){ n=strlen(s); s

推荐文章

热门文章

相关标签