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/"

等...

~そうしないと、悪いことで始まる名前のディレクトリを作成することになります。~文字列の最初の文字としての使用は拡張されていません$HOME

ところで、(一時的に、デバッグ目的で)#!/bin/bash -xvスクリプトの最初の行として配置すると、そのバグを見つけるのに役立ちました。

于 2013-10-08T04:40:17.873 に答える