检查PWD是否包含目录名称

时间:2014-01-13 17:44:25

标签: bash shell

我想知道PWD中是否包含某个目录名,它应该能够在输出中的任何位置测试它。

例如,我有public/bower_components/name/之类的结构路径,并且路径只有public

我想测试,因为文件夹name的内容移动到公用文件夹中,bower_components文件夹被删除。

由于

2 个答案:

答案 0 :(得分:20)

您可以使用BASH正则表达式:

[[ "$PWD" =~ somedir ]] && echo "PWD has somedir"

使用shell glob:

[[ "$PWD" == *somedir* ]] && echo "PWD has somedir"

答案 1 :(得分:6)

您可以使用case

case "$PWD" in
    */somedir/*) …;;
    *) ;; # default case
esac

您可以使用[[

if [[ "$PWD" = */somedir/* ]]; then …

您可以使用正则表达式:

if [[ "$PWD" =~ somedir ]]; then …

还有更多方法可以开机!