Linux中如何获取已存在目录

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

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

  1. # Get father directory
  2. fadir()
  3. {
  4. local this_dir=`pwd`
  5. local child_dir="$1"
  6. dirname "$child_dir"
  7. cd $this_dir
  8. }
  9. exist_dir()
  10. {
  11. local child_dir="$1"
  12. while test ! -d "$child_dir"
  13. do
  14. child_dir=`fadir "$child_dir"`
  15. done
  16. echo $child_dir
  17. }

 

测试如下:

tmp_dir=`exist_dir "/tmp/linuxidc"`

echo $tmp_dir

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

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

相关推荐