linux - 在 Bash 的文件路径参数中获取最后一个目录名/文件名

我正在尝试为 SVN 编写一个提交后 Hook ,它托管在我们的开发服务器上。我的目标是尝试自动将已提交项目的副本 checkout 到服务器上托管的目录。但是,我需要能够仅读取传递给脚本的目录字符串中的最后一个目录,以便 checkout 到托管我们项目的同一子目录。

例如,如果我对项目“example”进行 SVN 提交,我的脚本将“/usr/local/svn/repos/example”作为其第一个参数。我只需要从字符串末尾获取“example”,然后将其与另一个字符串连接,这样我就可以 checkout 到“/server/root/example”并立即查看更改。

最佳答案

basename确实删除了路径的目录前缀:

$ basename /usr/local/svn/repos/example
example
$ echo "/server/root/$(basename /usr/local/svn/repos/example)"
/server/root/example

https://stackoverflow.com/questions/3294072/

相关文章:

python - 如何比较 Python 中的版本号?

python - 出错时自动启动 python 调试器

linux - 从管道将值读入 shell 变量

python - 如何在 Python 列表中切换两个项目的位置?

python - 如何在 Python 中分析内存使用情况?

linux - 如何在 Minikube 中使用本地 docker 镜像?

linux - 从 grep 中排除 .svn 目录

linux - 如何在bash中将所有子目录中的所有文件gzip到一个压缩文件中

python - 使用 matplotlib 在单个图表上绘制两个直方图

Android Debug Bridge (adb) 设备 - 无权限