Shell 如何从完整的目录路径中检测最后一个目录

Shell 如何从完整的目录路径中检测最后一个目录,shell,Shell,需要打印以下示例中的最后一个目录。目录结构如下所示: “/home/user/example/bar” “/home/user/example/backup/foo” “/home/user/example/bar1” “/home/user/example/backup/tmp/bar2” “/home/user/example/bar3” “/home/user/example/bar4” 只有当我的完整目录路径包含“example”目录时,我才需要将最后一个目录(bar、foo、bar

需要打印以下示例中的最后一个目录。目录结构如下所示:

“/home/user/example/bar”
“/home/user/example/backup/foo”
“/home/user/example/bar1”
“/home/user/example/backup/tmp/bar2”
“/home/user/example/bar3”
“/home/user/example/bar4”

只有当我的完整目录路径包含“example”目录时,我才需要将最后一个目录(bar、foo、bar1、bar2、bar3、bar4)放入某个变量中。
如何像上面的示例一样始终检测最后一个目录(bar、foo、bar1、bar2、bar3、bar4)

另外,如果我的目录路径包含示例,那么我需要获取示例后面的立即目录

“/home/user/example/backup/foo”结果应为backup
“/home/user/example/bar1”结果应为bar1
“/home/user/example/backup/tmp/bar2”结果应为backup
“/home/user/example/bar3”结果应为bar3
“/home/user/example/bar4”结果应为bar4

提前感谢!:)

尝试以下操作:

DIR="/home/user/example/bar3"
if [ "${DIR##*/example/*}" = "" ]; then
    echo "Contains example"
    LAST_DIR="${DIR##*/}"
    echo "Last dir is: ${LAST_DIR}"
fi

检查
basename
命令。谢谢安德烈。它可以根据需要正常工作。italic如何将其更改为适用于
code
“/home/user/example/backup/foo”。。。假设我只需要从包含目录示例的路径中获取目录备份。基本上,我只需要从我提到的所有路径中获取示例后面的目录。