重複ファイルを見つけるためにif elseステートメントで検索を使用するには?

重複ファイルを見つけるためにif elseステートメントで検索を使用するには?

私の検索を使用して重複ファイルを検索したいと思います。パスと名前が間違っていて、ディレクトリにそのファイルがないにもかかわらず、まだ「blablabla」をエコーし​​ているため、「bububu」をエコーさせることはできないようです。これを試しても、ターゲットに同じ名前の既存のファイルがある場合は、そのファイルを追跡するログファイルを作成します。それでは、ターゲットに正確に同じ名前の既存のファイルがあるかどうかを見つけようとしています。

echo "Enter path for pre-configured settings"

read Path

echo "Enter file name for pre-configured settings"

read Name

if [ -n $(find "$Path" -type f -iname "$Name") ]
then 
    echo "blablabla"
else 
    echo "bububu"

答え1

ブラケットのバランスが適切であれば、コードが正しく機能する可能性があります。

ただし、代わりに「}」で終わる文字があるため、]これは}テストの一部であり、-nテストされた文字列は空ではありません。実行してみるset -xと、実行されていることがわかります。

+ '[' -n '}'

findPS:複数のファイルを返す場合、コードに問題がある可能性があります。周囲に引用符を付けます"$(find ...)"

関連情報