在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