0

所以,我要检查一个目录是否存在,如果不存在,那么脚本将创建一个。这是代码:

APPLICATION_DATA_DIRECTORY="~/.directorychecker/"
APPLICATION_DATA_DIRECTORY_CREATE="~/.directorychecker/"
CHECK_APPLICATION_DATA_DIRECTORY()
{
    if [ -d "$APPLICATION_DATA_DIRECTORY" ]
    then
    echo "directory exists"
    else
    mkdir $APPLICATION_DATA_DIRECTORY_CREATE
    echo "directory is NOT exist, but now created"
    fi
} 

CHECK_APPLICATION_DATA_DIRECTORY

然而,虽然文件夹检查机制运行顺利,但文件夹创建机制不想运行并返回

mkdir: cannot create directory `~/.directorychecker/': No such file or directory

我真的不知道让它工作,因为脚本看起来不错

这里有人有同样的问题和解决方案吗?任何答案将不胜感激

谢谢

4

1 回答 1

3

应该

 APPLICATION_DATA_DIRECTORY="$HOME/.directorychecker/"

ETC...

否则,您将创建一个名称以它开头的目录,~这是一件坏事。您~用作字符串的第一个字符未扩展到$HOME

顺便说一句,将(暂时,出于调试目的)#!/bin/bash -xv作为脚本的第一行将帮助您找到该错误。

于 2013-10-08T04:40:17.873 回答