내 찾기를 사용하여 중복 파일을 찾고 싶습니다. 경로와 이름이 잘못되었고 디렉토리에 해당 파일이 없는데도 여전히 "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
추신: 여러 파일을 반환하는 경우 코드에 문제가 있을 수 있습니다. 주위에 따옴표를 붙입니다 "$(find ...)"
.