红联Linux门户
Linux帮助

Linux中如何获取已存在目录

发布时间:2014-08-03 10:09:28来源:linux网站作者:huangkunlun520

在linux中,如何获取已存在的目录呢?


比如 在linux 系统中,目录/tmp 存在,但是目录 /tmp/linux不存在。我要写一个函数,参数是 /tmp/linux,输出是 /tmp,若目录/tmp/linux存在,则输出是/tmp/linux


# Get father directory
fadir()
{
local this_dir=`pwd`
local child_dir="$1"
dirname "$child_dir"
cd $this_dir
}
exist_dir()
{
local child_dir="$1"
while test ! -d "$child_dir"
do
child_dir=`fadir "$child_dir"`
done
echo $child_dir
}


测试如下:

tmp_dir=`exist_dir "/tmp/linux"`

echo $tmp_dir

若目录 /tmp/linux 存在,则输出应该是/tmp/linux:

若目录 /tmp/linux 不存在,则输出应该是 /tmp