所以,我要检查目录是否存在,如果没有,那么脚本将创建一个。这是代码:
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
我真的不知道如何让它工作,因为脚本似乎很好
这里有人有同样的问题和解决方案吗?任何答案将不胜感激
由于
答案 0 :(得分:3)
应该是
APPLICATION_DATA_DIRECTORY="$HOME/.directorychecker/"
等...
否则,您正在创建一个名称以~
开头的目录,这是一件坏事。您使用~
作为字符串的第一个字符的行不会扩展为$HOME
BTW,将(暂时,用于调试目的)#!/bin/bash -xv
作为脚本的第一行可以帮助您找到该错误。