Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 测试目录是否具有特定名称_Linux_Bash_Shell_Unix - Fatal编程技术网

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

Linux 测试目录是否具有特定名称,linux,bash,shell,unix,Linux,Bash,Shell,Unix,Ubuntu 16.04 LTS 有没有办法测试一个目录是否有一个特定的名称并执行一些操作?例如,我有以下几项: /home/Al/dir /home/Fl/dir /usr/.../dir 如果pwd返回这些目录中的任何一个,我希望测试返回true(也适用于所有以dir结尾的目录,如/…/…/dir)。有没有办法执行这样的测试?当然可以,将其与任何其他字符串进行比较。您甚至不必将pwd保存到任何地方,因为它也可以作为$pwd提供。使用“左修剪”操作符删除最后一条斜线之前的所有内容(包括):

Ubuntu 16.04 LTS

有没有办法测试一个目录是否有一个特定的名称并执行一些操作?例如,我有以下几项:

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

如果
pwd
返回这些目录中的任何一个,我希望测试返回true(也适用于所有以
dir
结尾的目录,如
/…/…/dir
)。有没有办法执行这样的测试?

当然可以,将其与任何其他字符串进行比较。您甚至不必将
pwd
保存到任何地方,因为它也可以作为
$pwd
提供。使用“左修剪”操作符删除最后一条斜线之前的所有内容(包括):


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

#!/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
试试这个

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