检查父目录的写权限

时间:2013-04-29 14:37:13

标签: bash directory parent

我有一个小问题。基本上这个问题很简单,但我的解决方案似乎没有用。

我提出的脚本就是这样的:

  1. 您将目录作为$ 1参数传递。例如:./ script.sh / Desktop / folder1 / folder1submap / myfolder
  2. 如果结构/ folder1 / folder1submap / myfolder不存在,我必须创建它。这里没有问题,但问题出现了,因为我必须首先检查位置是否可写。我用[-w" target" ]命令,但它不起作用,因为如果文件夹不存在,则-w始终为false。就我而言,它没有。

    解决方案:是的我可以检查父文件夹是否可写,但你不知道是否会得到例如:/ Desktop / folder1或类似的东西/ Desktop / folder1 / folder2 / folder3 / folder4 / folder5 / so我无法轻易地检查父文件夹的权限。确切地说,如果我从用户那里得到任意长路径,我就无法知道哪个目录是父目录。

1 个答案:

答案 0 :(得分:1)

一种选择是使用dirname命令:

if [ ! -d "$1" ] && [ -w "$(dirname $1)" ]; then 
    mkdir "$1"
fi