이메일을 통해 테이블 ​​개수 출력을 읽고 보낼 수 없습니다.

이메일을 통해 테이블 ​​개수 출력을 읽고 보낼 수 없습니다.

알아내려고 노력하지만 별로 도움을 받을 수 없습니다. 테이블의 개수를 캡처하고 개수가 0보다 클 때 이메일을 보내고 싶습니다. 개수가 0을 초과하는 경우에만 이메일의 출력은 다음과 같아야 합니다. 저를 도와주셔서 미리 감사드리고 도와주세요.


spool log;

SELECT count(*)
FROM users
;

spool off

EOF


count=`grep -rn  log | wc -l`
if [ $count != "1" ]
then
cat log | mailx -r [email protected] " ${MAILTO} > /dev/null 2>&1
else
echo "No Sessions found"
fi

산출:

Count(*)
--------
      2

답변1

작업을 더 쉽게 하기 위해 다음을 교체할 수 있습니다.

count=`grep -rn  log | wc -l`
if [ $count != "1" ]

그리고

count=`tail -1  log`
if ["$count" -gt 0 ]

는 하나의 값만 반환 하므로 sql(이것이 명령의 아이디어임 count(*)) 가 필요하지 않고 wc -l마지막 줄만 가져오면 됩니다. 그리고 -eq숫자를 비교할 때bash

관련 정보