前言

  • 最近想编写一个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 $pwdzhangsz@DESKTOP-R20T7CK MINGW64 /d/gitlab/rtthread
$ echo $PWD
/d/gitlab/rtthread

脚本测试

  • 编写脚本,列举当前目录下所有的目录名,也就是获取当前路径(文件夹)下的所以git 仓库的目录,因为每个git 仓库,都是一个目录
#! /bin/bashfunction git_show_dirs() {for dir_name in `ls $1`docur_dir="$1/$dir_name"# echo $cur_dirif [ -d $cur_dir ]thenecho $cur_dirfidone
}
# echo $PWD
git_show_dirs $PWD

运行效果

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

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

小结

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

shell 脚本 : 获取当前路径与当前路径下的目录列表相关推荐

  1. shell脚本获取mysql插入数据自增长id的值

    shell脚本获取mysql插入数据自增长id的值 在shell脚本中我们可以通过last_insert_id()获取id值,但是,需要注意的是,该函数必须在执行插入操作的sql语句之后,立即调用,否 ...

  2. shell脚本获取cpu、内存、磁盘使用率

    1.获取cpu使用率脚本 #!/bin/sh # #脚本功能描述:依据/proc/stat文件获取并计算CPU使用率 # #CPU时间计算公式:CPU_TIME=user+system+nice+id ...

  3. Linux中 shell 脚本获取当前工作目录的方法

    Linux中 shell 脚本获取当前工作目录的方法 1. 示例 2. 注意: 参考: 1. 示例 test.sh target_dir=$(cd $(dirname $0); pwd) echo $ ...

  4. shell脚本获取文件中的版权(Copyright)

    shell脚本代码如下: #!/bin/bash# get file copyright if [ -f "$1" ]; thenfile_copyright=`head -100 ...

  5. linux shell 生成图片,shell脚本获取网页快照并生成缩略图

    获取网页快照并生成缩略图可分两步进行: 1.获取网页快照 获取网页快照 这里我们用 phantomjs 来实现.关于 phantomjs 的详细用法可参考. 1.安装 我的环境是CentOS6.5,安 ...

  6. [Python陷阱]os.system调用shell脚本获取返回值

    当前有shell个脚本/tmp/test.sh,内容如下: #!/bin/bash exit 11 使用Python的os.system调用,获取返回值是: >>> ret=os.s ...

  7. 编写一个shell脚本,使其能够备份/etc目录下所有文件,并且备份的文件名需要自动生成日期,即产生后缀名形如.backup_20210624的文件。

    一.实现过程: 目录 一.实现过程: 二.验证结果: 1.在当前目录下,使用vi或者touch命令新建一个shell脚本文件,并且使用chmod命令添加权限(我这里添加的是最高权限),如图: 2.使用 ...

  8. shell脚本实现查找文件夹下重复的文件,并提供删除功能

    Windows下有软件FindDupFile,可以搜索指定目录及其下子目录,列出所有内容完全相同的文件(文件名可能不同),然后由用户选择删除重复的文件. 然而shell脚本却可以使用几行的命令完成与此 ...

  9. shell 脚本获取执行系统命令的输出结果

    shell脚本执行系统命令,需要根据系统命令输出的结果判断是否执行重启apache apachectl configtest  这个命令是检查配置文件语法是否正确,而这个命令如果回显Syntax OK ...

最新文章

  1. 国货美瞳相继完成资本融资,网络推广下美瞳是否能成为下一个国货爆品?
  2. SQL Server2008附加数据库之后显示为只读时解决方法
  3. VC中实现弹出CEdit的气泡提示框
  4. android模拟多任务键,模拟Android Handler机制——单线程处理多任务
  5. boost::boyer_myrvold_params::kuratowski_subgraph用法的测试程序
  6. pytorch封装Dataset——封装一般的DataLoader与可迭代的DataLoader(pytorch Data学习五)
  7. 太原警方通过微博提醒您手机丢失如何保微信安全
  8. linux thinkphp 计划任务_ThinkPHP定时任务项目案例分析
  9. 8天入门wpf—— 第四天 模板
  10. Linux prerouting和postrouting的区别
  11. Android三横变叉动画,90%的孩子会写错的笔顺,动画演示来一波!一看就会!
  12. 浅谈Android中的MVP架构
  13. crm系统如何处理好客户投诉问题?
  14. 复权、前复权和后复权
  15. 黑马程序员---java算法实现输出任意奇数维数独
  16. 《Windows核心编程》读书笔记四 进程
  17. SAS的基本使用介绍2(变量的输入输出格式)
  18. bdg2bw(macs2的peak要修正坐标)
  19. Python爬取豆瓣读书Top250(正则表达式)
  20. STGCN、ASTGCN、STSGCN、STFGNN模型的对比实验操作步骤

热门文章

  1. maven源码阅读之二(plexus-classworlds)
  2. AJAX框架眼镜盒可爱,亲爱的顾客,这是一套框架眼镜日常护理的方法,请您收好!​...
  3. 比较叶绿体基因组提供海草适应性进化新见解
  4. 同步代码到github
  5. A-LOAM/LOAM/Lego-LOAM/SC_Lego_LOAM实时构建3d点云地图与2d栅格地图(octomap)
  6. openwrt双wan环境搭建以及适配UPnP
  7. 网络安全立法要有前瞻性眼光
  8. 抖音小店无货源选品技巧分享,都是最简单的选品方法,一学就会
  9. 【科普】日期(Date)、时间(Time)、时间戳(Timestamp)、GMT(格林威治时间)、UTC、CST(夏令时)、ISO都是什么鬼?
  10. (转)设置Sysctl.conf用以提高Linux的性能(最完整的sysctl.conf优化方案)