测试目录是否具有特定名称

时间:2016-08-17 11:41:53

标签: linux bash shell unix

Ubuntu 16.04 LTS

有没有办法测试目录是否具有特定名称并执行某些操作?例如,我有这些:

/home/Al/dir
/home/Fl/dir
/usr/.../dir

如果pwd返回任何这些目录,我希望测试返回true(对于所有以dir结尾的目录,例如/.../.../dir)。有没有办法进行这样的测试?

3 个答案:

答案 0 :(得分:1)

当然,将其与任何其他字符串进行比较。您甚至不必将pwd保存在任何位置,因为它也可以$PWD。使用左修剪运算符删除最后一个斜杠(包括)之前的所有内容:

   if [[ "${PWD##*/}" == "dir" ]]; then
     something --special
   fi

答案 1 :(得分:1)

是的,这是可能的。试试这个。

#!/bin/bash

DIRNAME=dir
CHECKING_DIR=$1

if [ $(basename $CHECKING_DIR) = "$DIRNAME" ]; then 
    .. do some action ..
else
    .. do some action ..
fi


bash$ ./script /var/log/dir

答案 2 :(得分:1)

试试这个;

#!/bin/bash
 if [[ $(basename $(pwd)) == "dir" ]]; then
  ..
 else
  ..
 fi