我准备了一个bash脚本来获取文件名所在的目录(不是完整路径)。只有当文件位于子目录中时才能完成。仅当Linux文件夹中存在子文件夹时才获取当前目录(非完整路径)
例如: 如果输入为src/email/${sub_dir}/Bank_Casefeed.email,则输出应为${sub_dir}/Bank_Casefeed.email。
如果输入是src/layouts/Bank_Casefeed.layout,则输出应为Bank_Casefeed.layout。我可以很容易地使用basename命令得到这个。
src/basefolder始终为常量。在某些情况下(在src/email(basefolder)目录之后),sub_directories将在那里。
此脚本将起作用。我可以使用此脚本(仅当模块是电子邮件时)才能获得输出。但即使子目录存在于其他模块中,脚本也应该可以工作。也许我应该计算目录?如果有两个以上的目录(src/basefolder),脚本应该获取子目录。有没有更好的方法来处理这两种情况?
#!/bin/bash
filename=`basename src/email/${sub_dir}/Bank_Casefeed.email`
echo "filename is $filename"
fulldir=`dirname src/email/${sub_dir}/Bank_Casefeed.email`
dir=`basename $fulldir`
echo "subdirectory name: $dir"
echo "concatenate $filename $dir"
Entity=$dir/$filename
echo $Entity
2017-09-26
Ela