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
. . .