왜 find:'/root/Documents*가 인쇄됩니까?

왜 find:'/root/Documents*가 인쇄됩니까?

else
then
 files1=$(find /root/Documents/actualBACKUPpath/co* -type f | wc -l)
if [ $files1 = 6 ];
 then
 rm  -rv /root/Documents/folder6astmp/co*
 cp -v /root/Documents/actualBACKUPpath/co*
/root/Documents/folder6astmp/
  rm -rv /root/Documents/actualBACKUPpath/co*
echo other day operation success with actual backup path
  else
   files2=$(find /root/Documents/folder6astmp/co* -type f | wc -l)
 if [ $files2 = 6 ];
                then
echo we have nothing to do in tmp directoy success
                fi
  fi fi

위의 코드를 실행할 때 내가 얻는 출력은 다음과 같습니다.

find: ‘/root/Documents/actualBACKUPpath/co*’: No such file or
directory

we have nothing to do in tmp directory success

예상대로 잘 작동하는데 왜 문이 find:'/root/Documents*인쇄되나요?

답변1

내 생각엔 /root/Documents/actualBACKUPpath 디렉토리에 "co*" 패턴과 일치하는 파일이 없고 cp 명령이 이에 대해 불평하는 것 같습니다.

-vx 옵션을 사용하여 스크립트를 실행하여 수행 중인 작업을 표시해 보세요.

bash -vx scriptname

또는 스크립트 첫 번째 줄의 스크립트 선언에 동일한 옵션을 임시로 추가합니다.

#! /bin/bash -vx 
. . . 

관련 정보