私の検索を使用して重複ファイルを検索したいと思います。パスと名前が間違っていて、ディレクトリにそのファイルがないにもかかわらず、まだ「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 '}'
find
PS:複数のファイルを返す場合、コードに問題がある可能性があります。周囲に引用符を付けます"$(find ...)"
。