![파일에서 값 인쇄](https://linux55.com/image/69900/%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EA%B0%92%20%EC%9D%B8%EC%87%84.png)
$TMP_RPT_FILE과 $TMP_RPT_FILE1이라는 두 개의 파일이 있습니다. $TMP_RPT_FILE - 미터 판독값 및 $TMP_RPT_FILE1 - 미터 ID. 이 파일에 데이터가 있으면 인쇄해야 합니다. 이 방법으로 시도했지만 작동하지 않습니다. 누구든지 이 문제를 해결하도록 도와줄 수 있나요?
if [ -s "$TMP_RPT_FILE" || -s "$TMP_RPT_FILE1" ]
then
if [ -s "$TMP_RPT_FILE" ]
then
print "Meters with READINGS ONLY for $RPT_DT" > $RPT_FILE
cat $TMP_RPT_FILE | uniq >> $RPT_FILE
fi
if [ -s "$TMP_RPT_FILE1" ]
then
print "Meters with id for $RPT_DT" > $RPT_FILE
cat $TMP_RPT_FILE1 | uniq >> $RPT_FILE
fi
cat $RPT_FILE | \
$MAILCMD -s "$HOST: Meters with READINGS Only and No Profile Data for $RPT_DT" $MAILLIST
fi
답변1
() 구문 ||
에서는 쉘 연산자를 사용할 수 없습니다.test
[ ... ]
사용-o
if [ -s "$TMP_RPT_FILE" -o -s "$TMP_RPT_FILE1" ]
또는 2개의 테스트로 분할됩니다.
if [ -s "$TMP_RPT_FILE" ] || [ -s "$TMP_RPT_FILE1" ]