如何在shell脚本中找到时间最新的那个文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在shell脚本中找到时间最新的那个文件相关的知识,希望对你有一定的参考价值。

参考技术A 先将文件按照时间进行排序,命令如下:ls -lrt,最下面的文件即是最新文件
将最后的文件拿出来处理就好.

如何使用 shell 脚本从 git repo 打印最新的提交 ID

【中文标题】如何使用 shell 脚本从 git repo 打印最新的提交 ID【英文标题】:How to print the latest commit ID from the git repo using shell script 【发布时间】:2019-09-15 13:21:22 【问题描述】:

我在 linux 环境中有以下 shell 脚本,其中 arr 有 git repo 路径列表,当我尝试运行此脚本时,我通过第 3 行进入该路径,但我无法获得最新的提交 ID 并保存在变量中,我在此代码中缺少的内容以及如何在该变量“commit_ID”中获取该提交 ID。

for i in "$arr[@]"
do
 cd $i
 echo $i
 commit_ID = git log -1
 echo $commit_ID
done

【问题讨论】:

尝试将 commit_ID 行更改为 commit_ID=git log -n1。在 git 之前和 1 之后加上反引号。看看这是否有效。您可能还想在done 之前执行cd .. 以返回父目录。 而不是commit_ID=$( git log -n1 ),= 周围没有空格。 它只是打印一个空行,当我尝试 commit_ID = git log -n1 关于 cd,我猜它应该是 cd -,这样它就可以到达之前的任何路径(参数可能由 2 个目录组成......或绝对路径或什么不是)。 不要使用cd。请改用commit_ID=$(git --git-dir=$i/.git log -n1)。如果$i 是一个裸仓库,请不要附加/.git 【参考方案1】:

您可以instead use,而不是git log -n1

COMMIT_ID=$(git rev-parse --verify HEAD)

【讨论】:

以上是关于如何在shell脚本中找到时间最新的那个文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在shell脚本里调用另一个shell脚本

shell获取目录下最新的文件,文件是以日期命名

Shell编程—构建基本脚本

如何在一台机器上使用资源(.txt 文件)和另一台机器上的脚本在 ssh 上运行 shell 脚本?

求助:如何在shell脚本中添加写日志的功能

如何在 Shell 脚本中运行多个 SQL 脚本文件