두 조건을 확인하고 싶습니다. 그 안에 오류 문자열 "ORA-"가있을 수있는 파일이 있습니다. 먼저 파일이 존재하는지 그리고/또는 생성되었는지 확인하고, 존재하는 파일에 해당 오류 문자열이 있으면 두 번째를 확인하고 싶습니다. 그렇다면 다음 단계를 진행하지 마십시오. 그것이없는 경우에는 계속하십시오. grep
을 사용하여 문자열을 확인하지만 올바른 파일 테스트를 사용하고 있는지 확실하지 않습니다. 이것을 확인하는 좋은 방법은 무엇입니까?유닉스 파일 테스트 운영자가 다른 테스트에 grep 사용
TESTFILE=/tmp/usethisfile.sql
CHK_ERR= `grep "ORA-" $TESTFILE`;
if [ -e "$TESTFILE" ] && [ -z "$CHK_ERR" ];
then
#run next step
else
echo "Error found"
exit 1
fi
이 파일이 존재하지 않는 그것이 존재하지만, "ORA-"를 일치하지 구별 할 필요가없는 경우, 당신은'-e' 테스트를 건너 뛸 수 있습니다 'grep'은 파일을 열 수 없을 때 실패합니다. – chepner
당신은 $ CHK_ERR이 종료되면 종료하고, 다음 단계를 종료합니까? – jdamae
예, anubhava의 답변과 비슷하지만'[-e "$ TESTFILE"] &&'가 제거되었습니다. – chepner