Bash 스크립트에서 찾기를 사용하고 파일이 있는지 확인

Bash 스크립트에서 찾기를 사용하고 파일이 있는지 확인
 var= "$(find . -name 'gen*.bt2')" 


 if [ "$var" == "" ]
    then
         echo bad
    else
         echo great  
 fi

오류가 발생합니다.

./script.sh: 4행:./gen.4.bt2 ./gen.rev.1.bt2 ./gen.rev.2.bt2 ./gen.1.bt2 ./gen.3.bt2 ./gen.2.bt2:해당 파일이나 디렉터리가 없습니다. 엄청난

그러나 터미널에서 동일한 코드를 실행하면 파일이 오류 없이 완벽하게 나열됩니다.

누군가 나를 고칠 수 있습니까? 내가 어디로 잘못 가고 있습니까?

특정 파일이 있는지 확인하고, 있으면 계속 진행해야 합니다.

답변1

문제는 과제의 공간입니다. 쉘은 공백을 구분합니다. 귀하의 명령은 다음과 동일합니다.

var="" "./gen.4.bt2 ./gen.rev.1.bt2 ./gen.rev.2.bt2 ./gen.1.bt2 ./gen.3.bt2 ./gen.2.bt2" # output of find

공간을 제거해야 합니다.

var="$(find . -name 'gen*.bt2')" 

관련 정보