文字列がBASHで有効なパスを表すことを確認してください。

文字列がBASHで有効なパスを表すことを確認してください。

現在、次のような文字列ディレクトリがあります。 DESTDIR="/var/files/mydir/filedir/"

ディレクトリが存在することに注意してください。私はこれを確信した。

ディレクトリがすでに存在するのか、それとも作成するのかを確認する必要があります。現在、これを行うには次の方法を使用しています。

if [ -d  $DESTDIR ]; then
    echo the directory exists!
else
    echo the directory does not exist!
fi

そして、ディレクトリが存在していても、名前をコピーしてスクリプトの変数に貼り付けます。ディレクトリは常にそのelse文に移動します。さらに、ls $DESTDIRスクリプトでこれを行うとno such file or directoryエラーが発生します。ただし、ls $DESTDIRコマンドラインから実行すると予想される結果が得られます。

$DESTDIR交換しようとしましたが、"$DESTDIR"まだ期待した結果が得られませんでした。

ベストアンサー1

これを行うことができますmkdir -p "$DESTDIR"-pこのオプションは、エラーがすでに存在する場合にエラーを抑制します。

おすすめ記事