检查PWD是否包含目录名称

ziz*_*her 14 bash shell

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

例如,我有结构路径public/bower_components/name/,也有路径public.

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

谢谢

anu*_*ava 23

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

[[ "$PWD" =~ somedir ]] && echo "PWD has somedir"
Run Code Online (Sandbox Code Playgroud)

或使用shell glob:

[[ "$PWD" == *somedir* ]] && echo "PWD has somedir"
Run Code Online (Sandbox Code Playgroud)


koj*_*iro 7

你可以使用case:

case "$PWD" in
    */somedir/*) …;;
    *) ;; # default case
esac
Run Code Online (Sandbox Code Playgroud)

你可以使用[[:

if [[ "$PWD" = */somedir/* ]]; then …
Run Code Online (Sandbox Code Playgroud)

你可以使用正则表达式:

if [[ "$PWD" =~ somedir ]]; then …
Run Code Online (Sandbox Code Playgroud)

还有更多方法,开机!