디렉터리에서 5일보다 오래된 .trc 파일을 찾으면 "성공"을 표시하는 스크립트를 작성하려고 합니다. 그러나 내 디렉터리가 존재하더라도 full_path_trace': No such file or 디렉터리 오류가 발생합니다. 내가 뭘 잘못했는지 모르겠습니다.
full_path_trace='/u01/app/oracle/myfolder/trace'
if [[ -n $(find "full_path_trace" -name "*.trc" -mtime +5) ]]
then
echo "success!"
else
echo "fail"
fi
답변1
$
변수 앞에 a가 누락되었습니다. 여기서는 다음과 같이 합니다.
if find "$full_path_trace" -name '*.trc' -mtime +5 -print -quit |
grep -q '^'; then
echo 'Success!'
else
echo >&2 fail
fi
-quit
지원하지 않으시면 find
삭제해주세요.
grep -q
입력에서 행을 찾으면 true를 반환합니다.
-quit
find
첫 번째 일치 항목이 종료되고 추가 일치 항목 검색이 중지됩니다 . 그렇지 않은 경우 -quit
첫 grep
번째 줄을 읽은 후 종료되며, find
다른 파일이 많으면 결국 조기 종료됩니다.